我正在尝试模拟 cmd-tab 键盘快捷键的功能,用户可以按下某个键来在应用程序之间切换,当他们释放 command 键时会发生某些事情。
我现在正在使用这段代码,但它只能检测到键被按下。我需要在松开键时触发这个事件。
我现在正在使用这段代码,但它只能检测到键被按下。我需要在松开键时触发这个事件。
- (void)flagsChanged:(NSEvent *)theEvent {
if ([theEvent modifierFlags] & NSCommandKeyMask) {
NSLog(@"Do my stuff here");
}
}
谢谢
[event modifierFlags]
不会返回改变了的修饰键,而是返回当前按下的修饰键。因此,如果⌘键刚刚松开,那么它就不再被按下,所以在该掩码中的位也不再设置 - 因此[event modifierFlags] & kCommandKeyMask
的值为0
。 - Peter Hosey