如何获得 shift 键的状态,向下或向上?
How can I get the state of the shift key, down or up?
我需要检查 shift 键的状态,当它按下或不按下时,我会做不同的事情。
但是
- (void)flagsChanged:(NSEvent *)theEvent
和
[NSEvent addLocalMonitorForEventsMatchingMask:NSFlagsChangedMask
handler:^NSEvent *(NSEvent * event)
我比较喜欢用monitor,但是我只能获取按键事件,如何确定shift键是否按下?
我的大概想法是声明一个bool,当按下时,将bool赋值给YES,当按下键时,将bool赋值给NO。
但是我获取不到按键事件,有没有人知道如何获取按键事件,有什么更好的,如果你有更好的想法,请帮助我谢谢。
您可能会在 https://github.com/shpakovski/MASShortcut/blob/master/Framework/MASShortcutView.m
的第 400 行看到 MASShortcut 项目如何处理这个问题
编辑
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。
我需要检查 shift 键的状态,当它按下或不按下时,我会做不同的事情。
但是
- (void)flagsChanged:(NSEvent *)theEvent
和
[NSEvent addLocalMonitorForEventsMatchingMask:NSFlagsChangedMask
handler:^NSEvent *(NSEvent * event)
我比较喜欢用monitor,但是我只能获取按键事件,如何确定shift键是否按下?
我的大概想法是声明一个bool,当按下时,将bool赋值给YES,当按下键时,将bool赋值给NO。
但是我获取不到按键事件,有没有人知道如何获取按键事件,有什么更好的,如果你有更好的想法,请帮助我谢谢。
您可能会在 https://github.com/shpakovski/MASShortcut/blob/master/Framework/MASShortcutView.m
的第 400 行看到 MASShortcut 项目如何处理这个问题编辑
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。