LINUX.ORG.RU

История изменений

Исправление Zubok, (текущая версия) :

Firefox последний тоже работает, как и urxvt, konsole, lxterminal. Только если окно перекрыто другим окном или свёрнуто, то клики не проходят в скрытую область, получается у меня XSendEvent в режиме XTEST работает? :)

Потому что работает механизм диспетчеризации сообщений. Попробуй-ка active grab сделать, поделать свои виртуальные дела мышкой над перекрытым окном, а потом ungrab:

http://tronche.com/gui/x/xlib/events/keyboard-pointer/keyboard-pointer.html:

The source of the event is the viewable window that the pointer is in. The window used by the X server to report these events depends on the window's position in the window hierarchy and whether any intervening window prohibits the generation of these events. Starting with the source window, the X server searches up the window hierarchy until it locates the first window specified by a client as having an interest in these events. If one of the intervening windows has its do-not-propagate-mask set to prohibit generation of the event type, the events of those types will be suppressed. Clients can modify the actual window used for reporting by performing active grabs and, in the case of keyboard events, by using the focus window.

Далее это http://tronche.com/gui/x/xlib/input/pointer-grabbing.html

Потом расскажи, что получилось.

Исходная версия Zubok, :

Firefox последний тоже работает, как и urxvt, konsole, lxterminal. Только если окно перекрыто другим окном или свёрнуто, то клики не проходят в скрытую область, получается у меня XSendEvent в режиме XTEST работает? :)

Потому что работает механизм диспетчеризации сообщений. Попробуй-ка active grab сделать, поделать свои виртуальные дела мышкой над перекрытым окном, а потом ubgrab:

http://tronche.com/gui/x/xlib/events/keyboard-pointer/keyboard-pointer.html:

The source of the event is the viewable window that the pointer is in. The window used by the X server to report these events depends on the window's position in the window hierarchy and whether any intervening window prohibits the generation of these events. Starting with the source window, the X server searches up the window hierarchy until it locates the first window specified by a client as having an interest in these events. If one of the intervening windows has its do-not-propagate-mask set to prohibit generation of the event type, the events of those types will be suppressed. Clients can modify the actual window used for reporting by performing active grabs and, in the case of keyboard events, by using the focus window.

Далее это http://tronche.com/gui/x/xlib/input/pointer-grabbing.html

Потом расскажи, что получилось.