Cocoa全球捷径?

Ali*_*ice 13 cocoa keyboard-shortcuts objective-c

我想为我的应用创建一个全局快捷方式.我使用addGlobalMonitorForEventsMatchingMask方法执行此操作的"酷新方法".问题是,我的事件没有被"消耗":我的快捷方式包括空格键,因此每当我使用快捷方式时,当我在Finder中时会弹出Quicklook.

我怎样才能防止这种情况发生?我知道这是可能的,因为许多应用程序,例如Bowtie iTunes控制器应用程序,都可以做到.

Dar*_*ren 10

addGlobalMonitorForEventsMatchingMask:由于种种原因,它不适合替代现有的Carbon Hotkey API; 对于一个人来说,这是非常低效的.从文档:

......你只能观察事件; 您无法修改或以其他方式阻止将事件传递到其原始目标应用程序.

如果启用了辅助功能,或者您的应用程序受信任以进行辅助功能访问,则只能监视与密钥相关的事件

Hotkey API仍然是在OS X中实现全局快捷方式的唯一方法.但与许多Carbon API不同,Hotkey API可用于64位应用程序.


Chu*_*uck 7

使用热键API,用于此目的.

  • 已经有一个热键API的Cocoa包装器:http://github.com/carpeaqua/SGHotKeysLib (2认同)