有人知道xlib函数可以捕捉按键事件而不丢失原始焦点吗?如何摆脱它?
(或"使用XGrabKey()而不生成抓取样式的焦点输出"?)
(或"如何在系统级摆脱NotifyGrab和NotifyUngrab焦点事件?"
XGrabKey将在按下键时失go 焦点,并在释放键时恢复焦点.
我想在不泄漏到原始窗口的情况下捕获按键(就像XGrabKey可以做的那样).
参考资料:
...XGrabKey会偷走焦点...
...程序接受控制,根据组合键执行某些操作.同时,该项目暂时集中在...
...XGrabKeyboard函数主动获取键盘控制,并生成FocusIn和FocusOut事件...
...我什么都看不见
...如果FocusOut事件具有NotifyGrab...
抓取键盘不允许改变焦点...
聚焦抓取生成的事件(XGrabKeyboard的主动抓取和XGrabKey的被动抓取)
XGrabKey源代码:http://cgit.freedesktop.org/xorg/lib/libX11/tree/src/GrKey.c也许我们可以修改它来摆脱焦点事件?
there is "DoFocusEvents(keybd, oldWin, grab->window, NotifyGrab);" in ActivateKeyboardGrab(): http://cgit.freedesktop.org/xorg/xserver/tree/dix/events.c
我正在编写一个一键对键组合(和鼠标移动)映射软件:https://code.google.com/p/diyism-myboard/
我用RegisterHotKey()和UnRegisterHotKey()在Windows中实现了它:https://code.google.com/p/diyism-myboard/downloads/detail?name=MyBoard.pas
我想用XGrabKey()和XUngrabKey()将其迁移到Linux中:https://code.google.com/p/diyism-myboard/downloads/detail?name=myboard.py
我创造了10美元的赏金来解决这个问题.我们需要更多的支持者来发放 prize .