有没有人知道一个xlib函数来捕获一个按键事件而不会失去原始焦点?如何摆脱它?
(或"使用XGrabKey()而不产生抓取式焦点"?)
(或"如何摆脱系统级别的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 /档案馆/ WM说明列表/ 2007-月/ msg00000.html
...全屏模式不应退出使用NotifyGrab的FocusOut事件... https://bugzilla.mozilla.org/show_bug.cgi?id=578265
抓住键盘不允许改变焦点... 抓住键盘不允许改变焦点
Grabs生成的焦点事件(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
我想通过XGrabKey()和XUngrabKey()将其迁移到Linux: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
我无法理解,为什么HTML/Web UI响应比WinForms/WPF/Android View/Native UI慢?
Native UI还具有样式,元素嵌套,事件,而不是Web UI的CSS,DOM,javascript事件.
事件响应时间包括:焦点更改,下拉,滚动,动画移动,动画调整大小等.
DOM树插入/替换也很慢,插入10000个字符html将在android 4.0中的谷歌浏览器中花费100毫秒,而解析其模板仅花费20毫秒(jQuery微模板).
我重新启动可能是减速事件响应的最大因素:
HTML和CSS标准的子集可能是webview应用程序开发的未来解决方案:
http://www.silexlabs.org/haxe/cocktail/
http://www.terrainformatica.com/htmlayout/
https://github.com/tombenner/nui
http://steelratstory.com/steelrat-products/wrathwebkit
http://trac.webkit.org/wiki/EFLWebKit
https://github.com/WebKitNix/webkitnix
http://qt-project.org/doc/qt-4.8/richtext-html-subset.html
http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
一堆本机UI标记语言:http: //en.wikipedia.org/wiki/User_interface_markup_language
为什么没有简化的HTML标准和简化的Webcore布局引擎来取代这些原生的UIML?
也许我们可以在kivy.org项目中实现一个子集html.
PC,android浏览器=应用程序线程+ ui线程
iOS浏览器=应用程序线程+ ui数据线程+ ui硬件线程(CoreAnimation/OpenGL ES)
在ios浏览器中,应用程序线程可以直接调用ui硬件线程.