代码之家  ›  专栏  ›  技术社区  ›  luca

生成在系统范围内侦听快捷方式的AppleScript程序

  •  2
  • luca  · 技术社区  · 15 年前

    我想创建一种后台进程,它监听所有击键事件并因此采取行动(例如,如果在finder.app中按下cmd-a,或者更复杂的事情,如序列创建快捷方式,如emacs…)。

    但是我怎么能听到雪豹上全系统的按键声呢? 我想到了苹果脚本……但什么也没找到……
    (我也很擅长Ruby,实际上打算使用rb-appscript)

    谢谢!

    2 回复  |  直到 15 年前
        1
  •  3
  •   Yuji    15 年前

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

    然而,系统范围的键盘监听器将经常被调用。我建议用C或OBJ-C来代替,这样更有效。

        2
  •  1
  •   ghoppe    15 年前

    您可以使用自动机创建服务。如果要运行Ruby脚本,请使用“运行shell脚本”操作,并在shell:popup菜单中选择/usr/bin/ruby(不需要rb-appscript)。

    可以在“系统首选项->键盘首选项”面板中为服务提供键盘快捷方式。