在 macOS 上创建仅侦听命令键的键盘快捷键



如何仅为cmd键创建键盘快捷键?UIKeyCommand的初始值设定项还期望沿修饰符标志(在我的情况下为cmd(使用非空常规键 (input(,因此它在传递nil时不起作用。

我知道这是可能的,因为Paste和Slack也在做同样的事情,但我没有macOS的经验来弄清楚。

这不是OSX上检测任何按键(包括修饰键(的副本,因为这个问题措辞奇怪,并且在Google上排名较低。我搜索了几天来寻找这个问题的答案,但找不到任何答案,所以我把它打开以便于找到。

您可以使用以下方法实现此目的:

[NSEvent addLocalMonitorForEventsMatchingMask:NSEventMaskFlagsChanged handler:^NSEvent *(NSEvent *incomingEvent) {
if (incomingEvent.modifierFlags & NSEventModifierFlagCommand) {
NSLog(@"command key down");
}
return incomingEvent;
}];

最新更新