应用程序的系统范围热键

Jes*_*ica 9 macos cocoa button

我有一个带有3个按钮的简单窗口,我正在尝试添加一个系统范围的热键,这样我就可以"按下"这些按钮而无需切换到该应用程序,按下按钮然后回到我正在做的事情.

Cmd+ Shift+ 1按下按钮1,Cmd+ Shift+ 2按下按钮2等.

有没有办法在Cocoa中实现这一点(使用Objective-C)?谢谢,代码很受赞赏,因为我是Cocoa的新手.

Dav*_*ong 11

我也不喜欢PTHotKey,所以我最后写了一个新的包装器,可以在这里找到:

http://github.com/davedelong/DDHotKey

编辑

您需要的2个文件是:

而且你会使用这样的东西:

- (IBAction) registerHotkey:(id)sender {
  DDHotKeyCenter * c = [[DDHotKeyCenter alloc] init];
  if (![c registerHotKeyWithKeyCode:kVK_ANSI_1 modifierFlags:(NSCommandKeyMask | NSShiftKeyMask) target:self action:@selector(hotkeyWithEvent:) object:nil]) {
    NSLog(@"unable to register hotkey");
  } else {
    NSLog(@"registered hotkey");
  }
  [c release];
}

- (void) hotkeyWithEvent:(NSEvent *)hkEvent {
  NSLog(@"Hotkey event: %@", hkEvent);
}
Run Code Online (Sandbox Code Playgroud)