Какое свойство XWindow может помешать окну получить фокус, позволяя ему получать события мыши? - PullRequest
2 голосов
/ 23 декабря 2011

Я пишу экранную клавиатуру на python, с беспорядком.Я получил объект XWindow от ClutterStage, но я не могу найти никаких свойств, которые мешают окну красть фокус.По сути, он должен принимать события мыши (щелчок, движение и т. Д.), Не крадя фокус клавиатуры из окна, в котором он пытается ввести текст. Есть идеи?:)

Ответы [ 2 ]

1 голос
/ 24 апреля 2014

Вы хотите установить ложную подсказку ввода в свойстве WM_HINTS и не добавлять свойство WM_TAKE_FOCUS. Это гарантирует, что оконный менеджер никогда не перенесет фокус клавиатуры на ваше окно, но не заблокирует другие события. См. Раздел 4.1.7 ICCCM.

http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.7

1 голос
/ 24 декабря 2011

из-за того, что доставка ввода работает в X11, этого не может быть: у окна X11 должен быть фокус, чтобы получать входные события - другими словами: события доставляются только в сфокусированное окно.

метод ввода и поддержка специальных возможностей в GTK +, например, опираются на инструментарий, отправляющий и получающий данные в и из другого процесса через определенный API (IM и ATK, соответственно). все виртуальные клавиатуры в GNOME используют любые методы для обработки событий ввода.

на чистом X11 вы можете использовать API расширения XTest для отправки событий с виртуальной клавиатуры в приложение, которое ее вызвало.

...