Кто-нибудь знает функцию xlib для перехвата события нажатия клавиши без потери исходного фокуса? Как от этого избавиться?
(или «использовать XGrabKey () без генерации фокуса в стиле Grab»?)
(или «Как избавиться от событий фокуса NotifyGrab и NotifyUngrab на системном уровне?»
XGrabKey потеряет фокус при нажатой клавише и восстановит фокус при отпущенной клавише.
И я хочу перехватить нажатие клавиши без утечки его в исходное окно (так же, как это может сделать XGrabKey).
Использованная литература:
... XGrabKey украдет фокус ... https://bugs.launchpad.net/gtkhotkey/+bug/390552/comments/8
... Программа получает управление на выполнение каких-либо действий в ответ на комбинацию клавиш. Тем временем программа была временно сфокусирована ... Во время XGrabKey (доска) , узнайте, какое окно было сфокусировано
... Функция XGrabKeyboard активно захватывает управление клавиатурой и генерирует события FocusIn и FocusOut ... http://www.x.org/archive/X11R6.8.0/doc/XGrabKeyboard.3.html#toc3
... Я не вижу способа обеспечить текущее поведение Metacity при изменении рабочего стола (одновременное изменение и отображение всплывающего диалогового окна) без вывода фокуса типа Grab на окно ... https://mail.gnome.org/archives/wm-spec-list/2007-May/msg00000.html
... Полноэкранный режим не должен выходить из событий FocusOut с помощью NotifyGrab ... https://bugzilla.mozilla.org/show_bug.cgi?id=578265
захват клавиатуры не позволяет изменить фокус ... захват клавиатуры не позволяет изменить фокус
События фокусировки, генерируемые захватами (как активный захват XGrabKeyboard, так и пассивный захват XGrabKey) http://www.x.org/releases/X11R7.6/doc/libX11/specs/libX11/libX11.html#Focus_Events_Generated_by_Grabs
исходный код XGrabKey: http://cgit.freedesktop.org/xorg/lib/libX11/tree/src/GrKey.c может быть, мы могли бы изменить это, чтобы избавиться от событий фокусировки?
есть «DoFocusEvents (keybd, oldWin, grab-> window, NotifyGrab);» в ActivateKeyboardGrab (): http://cgit.freedesktop.org/xorg/xserver/tree/dix/events.c
Я пишу программу для сопоставления сочетания клавиш (и движения мыши) одним нажатием клавиши: https://code.google.com/p/diyism-myboard/
Я реализовал это в Windows с помощью RegisterHotKey () и UnRegisterHotKey (): https://code.google.com/p/diyism-myboard/downloads/detail?name=MyBoard.pas
И я хочу перенести его в Linux с помощью XGrabKey () и XUngrabKey (): https://code.google.com/p/diyism-myboard/downloads/detail?name=myboard.py
Я назначил вознаграждение в размере 10 долларов, чтобы решить эту проблему. Нам нужно больше спонсоров для размещения наград. https://www.bountysource.com/issues/1072081-right-button-menu-flashes-while-jkli-keys-move-the-mouse-pointer
XGrabKey
не подходит для работы. - person n. 1.8e9-where's-my-share m.   schedule 08.03.2013