3

我正在使用此代码在我的应用程序中捕获全局键盘快捷键。

这几乎适用于我运行它的每台计算机。本周我在全新的 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) {
4

2 回答 2

8

在 OSX 10.9 (Mavericks) 中,该设置已移至系统偏好设置 > 安全和隐私 > 隐私 > 辅助功能 - 确保您的应用已被选中。

于 2013-12-13T18:07:51.333 回答
0

检查系统偏好中可访问性中的“启用辅助设备的访问”,然后重试。

于 2013-07-26T07:06:39.773 回答