本文介绍了在OS X上检测任何键按下,包括修改键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要检测用户按下的所有键。使用 -keyDown:
我可以得到大多数按键(字母数字,功能键,箭头,空格键,转义,返回),但我不能得到任何修改键, 。
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上检测任何键按下,包括修改键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!