问题标签 [key-bindings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - 在 WPF 中没有命令的 KeyBinding
我有一个简单的 WPF 应用程序,我想添加在 Win32 世界中众所周知的键盘加速器。看起来 KeyBinding 是票,但它需要绑定到 Command 对象。我没有使用命令对象,也不想使用。当按下 ctrl-x 键序列时,是否有另一种方法可以触发事件?
asp.net-mvc - .net mvc 键绑定海报
我一直在寻找一些 asp.net mvc 键绑定海报,但似乎只能找到不包含任何 MVC 特定内容的 VS 2010 的海报。
外面有吗?或者为自己制作一个最简单的方法是什么?
我也在使用 resharper,但这似乎也没有针对 mvc 的特定海报。
vim - vim 键映射参考
我刚刚安装了 command-t 插件以及将其映射到 cmd-t 而不是 leader-t 的内容。我对 vim 很陌生,我不知道键映射的符号是什么。我在哪里可以找到在 vim 中映射组合键时使用的符号的参考?
emacs - 如何在 emacs isearch-mode 中列出已定义的键?
如何在 emacs isearch-mode 中列出已定义的键?
基于Emacs:打印命令的键绑定或列出我尝试过 Ch m 的所有键绑定,但在 isearch 模式下我不能这样做(C-h并且M-x似乎取消了它)
谢谢,-肖恩
wpf - 如何将“按 Escape 键时关闭”行为分配给项目中的所有 WPF 窗口?
是否有任何直接的方法可以通过尝试关闭当前聚焦的寡妇来告诉整个 WPF 应用程序对 Escape 按键做出反应?手动设置命令和输入绑定并不是一件很麻烦的事,但我想知道在所有窗口中重复这个 XAML 是否是最优雅的方法?
欢迎任何建设性的建议!
.net - Winform->WPF MVVM 键绑定错误?
从 WinForm 应用程序调用 WPF KeyBindings 时,我需要一些帮助。我已经创建了我认为是演示问题的基本部分。如果有帮助,我可以提供一个示例应用程序。
WinForm 应用程序启动一个表单,该表单有一个调用 WPF 的按钮
使用 WPF 视图创建它的视图模型并设置键控:
ViewModel 使用 DelagateCommand 希望将所有内容链接起来
谁能看到哪里出了问题,按键什么也没做?!?
regex - Emacs Lisp在init文件中对齐键绑定定义
我的 Emacs 初始化文件中有以下行。
有没有办法在特定的正则表达式中进行硬编码,这样我就不必每次都指定它?
wpf - 可以在 WPF Datagrid 中禁用 F2 键吗?
在 WPF DataGrid 中,该F2键用于编辑当前单元格。我的软件项目中的要求说F2应该做其他事情。我添加了一个键绑定,但它仅在键盘焦点不在 DataGrid 中时才有效。
我可以禁用或删除 DataGrid 对键的键绑定F2吗?
key-bindings - tmux 上窗格/下窗格丢失
我想重新绑定在 tmux 中更改活动窗格的操作。在 1.1 版中,我是这样做的:
我最近升级到 1.3 版,现在我收到以下错误消息:
这些命令在新版本中是否已重命名?我在 tmux 手册页中找不到任何看起来相似的内容。
java - Java 如何调度 KeyEvents?
我已经阅读了几次关于键绑定的明确教程,但我的大脑缓存似乎不足以容纳复杂的过程。
我正在调试一个键绑定问题(结果证明我使用了错误的JComponent.WHEN_*
条件),并且我偶然发现了一个简明有趣的 javadoc,用于javax.swing.KeyboardManager
一个(不幸的)匿名 Java 工程师的私有包。
我的问题是:除了KeyEventDispatcher
一开始就检查的内容之外,描述是否遗漏和/或错误?
KeyboardManager 类用于帮助为 WHEN_IN_FOCUSED_WINDOW 样式操作分派键盘操作。具有其他条件的操作直接在 JComponent 中处理。
这是对我所理解的键盘调度至少应如何工作的语义[原文如此]的描述。
KeyEvent 被分派到焦点组件。焦点管理器首先处理此事件。如果焦点管理器不想要它,则 JComponent 调用 super.processKeyEvent() 这允许侦听器有机会处理事件。
如果没有一个侦听器“消费”该事件,那么键绑定就会被击中。这是事情开始变得有趣的地方。首先,使用 WHEN_FOCUSED 条件定义的 KeyStokes [原文如此] 有机会。如果这些都不想要该事件,那么组件会通过它的 [sic] 父项查找类型为 WHEN_ANCESTOR_OF_FOCUSED_COMPONENT 的操作。
如果还没有人拿走它,那么它就会在这里结束。然后我们查找为 WHEN_IN_FOCUSED_WINDOW 事件注册的组件并向它们触发。请注意,如果这些都没有找到,那么我们将事件传递给菜单栏并让它们对其进行破解。它们的处理方式不同。
最后,我们检查我们是否正在查看内部框架。如果我们是并且没有人想要该事件,那么我们向上移动到 InternalFrame 的创建者并查看是否有人想要该事件(等等等等)。
(更新)如果您想知道键绑定指南中的这个粗体警告:
因为搜索组件的顺序是不可预测的,所以要避免重复的 WHEN_IN_FOCUSED_WINDOW 绑定!
这是因为这个片段在KeyboardManager#fireKeyboardAction
:
所以搜索的顺序其实是可以预测的,但是显然依赖于这个特定的实现,所以最好不要依赖它。保持不可预测。
(Javadoc 和代码来自 WinXP 上的 jdk1.6.0_b105。)