我需要检查换档键的状态,当它按住或不按时,我会做不同的事情。
但是
- (void)flagsChanged:(NSEvent *)theEvent
和
[NSEvent addLocalMonitorForEventsMatchingMask:NSFlagsChangedMask
handler:^NSEvent *(NSEvent * event)
我更喜欢使用显示器,但我只能获得按键事件,如何确定shift键是否按下?
我的粗略想法是声明一个bool,当按下键时,将bool指定为YES,当键入时,将bool指定给NO。
但我无法获得关键活动,有人知道如何获得关键活动,有什么更好的,如果你有更好的想法,请帮助我谢谢。
答案 0 :(得分:2)
您可能会看到MASShortcut项目如何在https://github.com/shpakovski/MASShortcut/blob/master/Framework/MASShortcutView.m
的第400行处理此问题修改强>
NSEventMask eventMaskDown = (NSKeyDownMask | NSFlagsChangedMask);
eventMonitorDown = [NSEvent addLocalMonitorForEventsMatchingMask:eventMaskDown handler:^(NSEvent *event) {
// The event object contains the key that was pressed
}
NSEventMask eventMaskUp = (NSKeyUpMask | NSFlagsChangedMask);
eventMonitorUp = [NSEvent addLocalMonitorForEventsMatchingMask:eventMaskUp handler:^(NSEvent *event) {
// The event object contains the key that was released
}
有关Apple网站的更多信息,请参阅Modifier flags。