代码之家  ›  专栏  ›  技术社区  ›  Oleg Andreev

如何在Cocoa应用程序包内的dict文件中指定密钥绑定?

  •  1
  • Oleg Andreev  · 技术社区  · 15 年前

    关于KVC/KVO和键值绑定的问题。)

    文档说原始密钥事件不会传播到应用程序委托和文档控制器(因此我不能依赖onKeyDown,因为它应该发生在WindowController中)。但“操作事件”(绑定到选择器的键)会发送到应用程序、应用程序代理和文档控制器。

    我知道两种设置全局绑定的方法:通过Interface Builder中的NSMenuItem密钥等效项或使用~/Library/KeyBindings/DefaultKeyBinding.dict文件(为所有应用指定全局绑定)。

    菜单项方法不好,因为我不想用可以从“工具”面板触发的命令污染我的菜单。

    有人知道怎么做吗?

    谢谢

    2 回复  |  直到 15 年前
        1
  •  0
  •   Peter Hosey    15 年前

    The documentation says this isn't supported.

    如果“工具”菜单确实毫无意义,则可以设置“工具”菜单项(其子菜单为“工具”菜单)的“隐藏”属性。这样,“工具”菜单项仍在主菜单(菜单栏)中,因此仍应将其键绑定与操作相关联,但用户不可见。

        2
  •  0
  •   Oleg Andreev    15 年前

    http://github.com/carpeaqua/SGHotKeysLib

    它使用RegisterEventThotKey功能(需要与Carbon框架链接)。