【问题标题】:make AppleScript program that listens systemwide for shortcuts制作 AppleScript 程序,在系统范围内侦听快捷方式
【发布时间】:2011-01-11 17:17:51
【问题描述】:

我想创建某种后台进程来侦听所有击键事件并采取相应的行动(例如,如果在 Finder.app 中按下 CMD-A 或更复杂的事情,例如创建序列,则执行一些操作emacs 中的快捷方式..)

但是如何在 SnowLeopard 上收听系统范围内的按键? 我想到了 Applescript.. 但什么也没找到..
(我也很擅长 ruby​​,其实打算用 rb-appscript)

谢谢!

【问题讨论】:

    标签: macos events keyboard-shortcuts osx-snow-leopard applescript


    【解决方案1】:

    如果您真的想捕获系统范围内的所有击键,您需要CGEventTap。我不认为 AppleScript 可以直接使用它,也许在 10.6 上你可以使用 AppleScriptObjC。当然,Ruby 应该可以通过Bridge Support 使用它。

    但是,系统范围的键盘侦听器会被非常频繁地调用。我建议改用 C 或 Obj-C 编写代码,这样会更有效率。

    【讨论】:

      【解决方案2】:

      您可以使用 Automator 创建服务。如果要运行 ruby​​ 脚本,请使用 Run Shell Script 操作并在 Shell: 弹出菜单中选择 /usr/bin/ruby(不需要 rb-appscript)。

      可以在系统偏好设置 -> 键盘偏好设置面板中为服务提供键盘快捷键。

      【讨论】:

      • 不是我要找的,这只是一个执行脚本的系统快捷方式。我想要一个脚本来监听击键,以便将最复杂的键序列绑定到命令。
      猜你喜欢
      • 2010-10-02
      • 2020-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多