是否可以在mac上用应用程序特定的密钥绑定覆盖用户密钥绑定



用户特定的keyBindings.dict文件位于:~/Library/KeyBindings/

您(作为开发人员)如何告诉AppKit在另一个目录(特定于应用程序)中查找特定应用程序的另一个绑定文件。这不需要覆盖用户特定的,因为它可以用于除文本操作之外的功能。

这可能有用,原因如下:

  1. 在不干扰用户的情况下更改应用程序的keyBinding系统其余部分的设置(尤其是对象不一定是文本输入对象)
  2. 添加NSResponder中找不到的其他操作方法

引用《Cocoa事件处理开发人员指南》(第68页)。重点在于我。

它可以通过调用NSResponder方法interpretKeyEvents:将事件传递给Cocoa的文本输入管理系统。输入管理系统根据所有相关键绑定字典中的条目检查按下的键,如果匹配,则向视图发送doCommandBySelector:消息。否则,它会向视图发送一条insertText:消息,视图会实现此方法来提取和显示文本。

我认为这是不可能的。我认为"所有相关的密钥绑定字典"只是指/System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict~/Library/KeyBindings/DefaultKeyBinding.dict

最新更新