- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
有没有人知道一个 xlib 函数来捕获按键事件而不会失去原始焦点?如何摆脱它?
(或“使用 XGrabKey() 而不生成 Grab 样式的焦点”?)
(或“如何在系统级别摆脱 NotifyGrab 和 NotifyUngrab 焦点事件?)
XGrabKey 将失去对按下键的关注并恢复对释放键的关注。
我想捕获按键而不会将其泄漏到原始窗口(就像 XGrabKey 可以做到的那样)。
引用资料:
...XGrabKey 将窃取焦点... https://bugs.launchpad.net/gtkhotkey/+bug/390552/comments/8
...程序接收控制以响应组合键。同时,该计划暂时集中在... During XGrabKey(board), discover which window had been focused
...XGrabKeyboard 函数主动获取键盘控制权并生成 FocusIn 和 FocusOut 事件... http://www.x.org/archive/X11R6.8.0/doc/XGrabKeyboard.3.html#toc3
...我看不到提供 metacity 当前桌面更改行为的方法(更改并同时显示弹出对话框)而不会导致抓取式对焦窗外... https://mail.gnome.org/archives/wm-spec-list/2007-May/msg00000.html
...在使用 NotifyGrab 的 FocusOut 事件上不应退出全屏模式... https://bugzilla.mozilla.org/show_bug.cgi?id=578265
抓取键盘不允许改变焦点... grabbing keyboard doesnt allow changing focus
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
最佳答案
我当前的代码(来自 http://diyism-myboard.googlecode.com/files/myboard.py ):
disp=Display()
screen=disp.screen()
root=screen.root
def grab_key(key, mod):
key_code=string_to_keycode(key)
#3rd: bool owner_events, 4th: pointer_mode, 5th: keyboard_mode, X.GrabModeSync, X.GrabModeAsync
root.grab_key(key_code, mod, 0, X.GrabModeAsync, X.GrabModeAsync)
root.grab_key(key_code, mod|X.LockMask, 0, X.GrabModeAsync, X.GrabModeAsync) #caps lock
root.grab_key(key_code, mod|X.Mod2Mask, 0, X.GrabModeAsync, X.GrabModeAsync) #num lock
root.grab_key(key_code, mod|X.LockMask|X.Mod2Mask, 0, X.GrabModeAsync, X.GrabModeAsync)
def main():
grab_key('Shift_L', X.NONE)
grab_key('Shift_R', X.NONE)
while 1:
evt=root.display.next_event()
if evt.type in [X.KeyPress, X.KeyRelease]: #ignore X.MappingNotify(=34)
handle_event(evt)
if __name__ == '__main__':
main()
当我按下“shift”键时,焦点丢失,当我松开它时,焦点又回来了。
关于python - 为什么 XGrabKey 会生成额外的聚焦和聚焦事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15270420/
我有一个登录框,当 出现时,它会上下滑动/切换。单击链接。 这是一个尺寸约为 150 像素 x 100 像素的 DIV。 当有人点击此 DIV 外部时,我希望 DIV 滑动备份。我一直在玩 focu
jQuery 会阻止这种类型的行为吗? $("input").focusout(function() { $(this).focus(); }); 最佳答案 这是如何完成的(跨浏览器工作):
我想将聚焦和未聚焦窗口的 Alpha 设置为 90% 和 70%,而不是使用边框。这将适用于所有窗口,除了那些匹配某些标准(例如 className =“Gimp”)的窗口。我如何在我的 xmonad
我的布局中有一个 Recyclerview 和一个 EditText。 当我在 EditText 外部单击(即单击 Recyclerview)时,我希望 Recyclerview 获得焦点,而 Edi
我正在开发一个使用旧版 jQuery 1.3.2 的元素。我需要在 focus 上 blur 输入值并在 focusout 上返回它(如果没有改变)(不能使用 placeholder在这里)。 这就是
我有一个带有几个 TextViews 的自定义抽屉导航。这是布局: 问题是,如果我没有为 TextView
是否有一种简单的方法可以使我的应用程序的 float 工具选项板永久处于事件状态?它们都与打开的文档相关,因此没有理由让它们在任何时间点处于不活动状态。 最佳答案 使用 NSPanel 作为实用程序窗
尽管阅读了我可以在developer.android.com和stackoverflow上获得的所有内容,但是我确实认为应该可以实现,但是我仍然不知道该怎么做。 我正在尝试使用OpenGL ES 2.
我想在页面加载时聚焦一个元素( slider /轮播),以允许使用箭头键立即控制 slider 。 JQuery 的 .focus() 可以工作,但会自动将元素滚动到 View 中。这是有限视口(vi
我正在尝试让我的代码针对 Mozzila 中 14 年未修复的错误,该错误无法重新关注输入。我在多个地方发现(google mozilla focus not working 中的前 20 个结果中的
我有 ViewController,我想通过焦点引擎检索控制权。首先,我尝试通过要求自己查看来启动。 if settingsFilterSegment.isFocused {} 但我变得错误了,所以我
我想以编程方式将焦点设置在连续一列的表格中 NSTableCellView 中的两个编辑字段之一上,以便用户可以立即编辑该字段。在我的示例中,我可以选择该行(按下按钮后),但我找不到将焦点设置在特殊字
我创建了一个小的 Tab-Layout。 现在我如何根据 TabWidget 的状态(聚焦、按下...)指定它的颜色 我构建了一个新的 .xml,但我不知道如何将它设置到我的选项卡:
我有一个带有 JTree 的 JDialog,其中包括 DefaultMutableTreeNode 及其子节点。我希望在显示 JDialog 时聚焦树的节点之一。只需使用 tree.requestF
当我单击 EditText 时,会出现软键盘。我不希望在单击 EditText 时出现键盘,但是,我想获得 EditText 的力量。我想在没有键盘的情况下编辑它。 editText.setOnCli
在下图中,您可以看到“>”符号周围有一个虚线的“内部”边框,表示该按钮已获得焦点。 (我还在按钮周围添加了一个蓝色边框) 在我构建这些按钮的代码中,我正在做: setTimeout(function(
我在 css 上相当“新手”,并试图在主 div 聚焦时更改 FontAwesome 图标的颜色。我尝试了几种方法,尝试使用 div 的 id 或 class 在 focus 上更改它的颜色,但都没有
我如何判断焦点事件是由于输入按下=表单提交而发生还是仅仅因为单击而发生?进入控制台的事件数据是“focusout”类型,没有相关信息 $(".clientrow[clientid="+clientid
我有个小问题。目前,我正在使用 WordPress 开发一个带有 Flash 游戏的简单网页。 例如考虑这个页面:http://ggames.eu/2015/11/25/prince-of-persi
A 有一个 ListBox,需要在特定情况下聚焦特定项目(例如,显示搜索结果时)。这是通过附加属性使用以下函数完成的: public static void OnElementIndexPropert
我是一名优秀的程序员,十分优秀!