我正在使用此代码在我的应用中捕获全局键盘快捷键。
这几乎适用于我运行它的每台计算机。我本周在一台全新的Retina Macbook Pro上尝试了它,addGlobalMonitorForEventsMatchingMask
根本不起作用。它甚至没有像我设置的那样记录每个键进行调试。
有更可靠的方法吗?现在我加载applicationDidFinishLaunching
。
我认为在App Delegate中将它作为自己的方法加载可能更有意义,但我不确定它的语法是什么样的。
[NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask handler:^(NSEvent *event){
NSLog(@"sequence = %li", (unsigned long)[event modifierFlags]);
// Activate app when pressing cmd-c
if([event modifierFlags] == 1048840 && [[event charactersIgnoringModifiers] compare:@"c"] == 0) {
答案 0 :(得分:8)
在OSX 10.9(Mavericks)中,设置已移至“系统偏好设置”>安全与安全隐私>隐私>辅助功能 - 确保您的应用已经过检查。
答案 1 :(得分:0)
在系统偏好设置的辅助功能中选中“为辅助设备启用访问权限”,然后重试。