检测 OS X 上的任何按键,包括修改键 [英] Detect any key press, including modifier keys, on OS X
本文介绍了检测 OS X 上的任何按键,包括修改键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要检测用户按下的所有键.使用 -keyDown:
我可以得到大多数按键(字母数字、功能键、箭头、空格键、escape、return),但是单独按下时我无法得到任何修饰键.
I need to detect all the keys that the user presses. Using -keyDown:
I can get most key presses (alphanumeric, function keys, arrows, space bar, escape, return), but I cannot get any modifier key when it's pressed alone.
如何绝对检测到任何击键,包括修饰键?
How do I detect absolutely any keystroke, including modifier keys?
推荐答案
试试看:
[NSEvent addLocalMonitorForEventsMatchingMask:NSKeyDownMask|NSFlagsChangedMask handler:^NSEvent *(NSEvent *incomingEvent) {
if (incomingEvent.type == NSFlagsChanged && (incomingEvent.modifierFlags & NSDeviceIndependentModifierFlagsMask)) {
NSLog(@"modifier key down");
} else if (incomingEvent.type == NSKeyDown) {
NSLog(@"other key down");
}
return incomingEvent;
}];
这篇关于检测 OS X 上的任何按键,包括修改键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文