制作AppleScript程序,监听系统范围内的快捷方式

时间:2010-02-01 13:12:34

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

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

但是我如何在SnowLeopard上全系统听按键? 我想到了Applescript ..但没有发现任何东西..
(我也很擅长ruby,并且打算实际使用rb-appscript)

谢谢!

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

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