Тред номер 1 из много.
Дисклеймер - пожалуйста, не надо сразу клеймить неосилятором гугла и прочим - мне нужны не конкретные технические решения, а уверенность, что я копаю в верном направлении - а если нет, то подсказка, какие технологии лучше изучить для более успешной реализации поделки.
Предыстория - поручило начальство проработать вариант портирования на линуксы системы слежения за пользователем. Система, разумеется, далеко и глубоко заколочена на вендовые вещи, потому вопрос стоит о разработке параллельного проекта.
С линуксами относительно знаком, никогда системным программированием в пингвине не занимался - не было причины.
Вопрос номер один.
Требуется вести отслеживание всего, что пишет пользователей, то бишь нужен кейлоггер. Однако, если примитивный кейлоггер на SystemTap, состоящий из 10 строчек, уже ловит даже пароли на рута, есть проблема - выводимый им поток символов никак не разделен логически.
Проблема - есть ли какие-нибудь надежные механизмы Иксов, позволяющие моему условному приложению реагировать на изменение фокуса окна? Грубо говоря, кейлоггер передает в анализатор поток нажатых клавиш, а анализатор, на основе полученных от иксов событий, «передвигает курсор» - отличает, что поток из окна А закончился и сейчас мы получаем нажатия от окна Б в поле 1, а теперь из поля 2. Можно без полей, но селекцию окон(для получения связного текста) очень желательно.
Еще вопрос - как в вещах, подобным перехвату нажатия через SystemTap(либо подобные вещи, перехват через файл устройства, например, не знаю) обстоит дело с поддержкой всяких необычных символов - например символы чешского или немецкого языка, которые образуются набором нескольких клавиш.