我创建了一些全球热键。但是使用addGlobalMonitorForEventsMatchingMask
我只能观察keydown事件。如果我想捕获事件并阻止其他应用程序接收它,该怎么办?
以下是观察 keydown事件的内容:
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(aNotification: NSNotification) {
NSEvent.addGlobalMonitorForEventsMatchingMask(.KeyDownMask, handler: keyDown)
NSEvent.addLocalMonitorForEventsMatchingMask(.KeyDownMask) { (event) -> NSEvent! in
self.keyDown(event)
return event
}
}
func keyDown(event : NSEvent) {
if event.modifierFlags.contains(.ControlKeyMask) && event.modifierFlags.contains(.AlternateKeyMask) && event.modifierFlags.contains(.CommandKeyMask) && event.keyCode == 126 {
print("⌃⌥⌘↑ pressed")
}
}
}
我不知道从哪里开始捕获 keydown事件。任何帮助都会很棒。感谢。