我有一个带有3个按钮的简单窗口,我试图添加系统范围的热键,这样我就可以“按下”这些按钮,而不必切换到该应用程序,按下一个按钮,然后返回到我正在做的事情。
类似于Cmd + Shift + 1按下按钮1,Cmd + Shift + 2按下按钮2,依此类推。
有什么方法可以在Cocoa中实现(使用Objective-C)?
谢谢,代码是值得赞赏的,因为我是 cocoa 的新手。
最佳答案
我也不喜欢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);
}