是否可以在Mac上使用特定于应用程序的用户重写用户KeyBindings?

时间:2015-03-01 11:46:05

标签: macos cocoa key-bindings nsresponder

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

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

由于以下原因,这可能很有用:

  1. 更改应用的键绑定,而不会弄乱用户 他们系统其余部分的设置(特别是你的系统 对象不一定是文本输入对象)
  2. 添加NSResponder
  3. 中未找到的其他操作方法

    引自Cocoa事件处理开发人员指南(第68页)。重点是我的。

      

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

1 个答案:

答案 0 :(得分:2)

我不相信或有可能。我认为关于"所有相关的键绑定词典"仅指/System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict~/Library/KeyBindings/DefaultKeyBinding.dict