Я пытаюсь написать небольшое приложение для захвата нажатий клавиш для окна под X, а затем отображать их на экране с помощью экранного меню или чего-то еще.Идея в том, чтобы использовать его для скринкастов и тому подобного.
Я попытался сделать операцию на xev и заставил его работать нормально, но потом заметил что-то смешное.Если я использую xev в окне, которое само создает, события KEyPress и KeyRelease регистрируются, и я вижу их.Однако, если я использую переключатель -id
для xev, чтобы отслеживать другое окно и пытаться регистрировать нажатия клавиш там, они не всегда отображают события KeyPress и KeyRelease.Я, кажется, получаю PropertyNotify
события, когда происходят некоторые вещи, но не KeyPress
и KeyRelease
, которые меня интересуют.
Некоторые окна ведут себя как ожидалось (например, gnome-терминал).Некоторые другие не делают (например, emacs-gtk).
Как получить нажатия клавиш для этих окон?