我想创建某种后台进程来侦听所有击键事件并相应地执行操作(例如,如果在 Finder.app 中按下 CMD-A,或更复杂的事情,例如创建快捷方式的序列,则执行一些操作,如emacs..)
但是我如何在 SnowLeopard 上监听系统范围内的按键呢?
我想到了Applescript..但什么也没找到..
(我也擅长 ruby,实际上打算使用 rb-appscript)
thanks!
如果你真的想捕获系统范围内的所有击键,你需要CG事件点击 http://developer.apple.com/Mac/library/documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html#//apple_ref/c/func/CGEventTapCreate。我认为它不能直接用于 AppleScript,也许在 10.6 上你可以使用AppleScriptObjC
。当然,Ruby 应该可以通过桥梁支撑 http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/RubyPythonCocoa/Articles/GenerateFrameworkMetadata.html.
然而,系统范围的键盘监听器会被频繁调用。我建议改用 C 或 Obj-C 编码,这样会更有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)