Swift3
での実装ならこちらになります: Swift3 ViewControllerでキーイベント(keyDown)を捕捉する - ikap
キーイベントはNSResponder
を介する。
NSViewController
は、NSResponder
を実装してるので、ハンドリングしたいところのViewController
内で、keyUp
やkeyDown
をオーバーライドすればいい。
override func keyUp(theEvent: NSEvent) {
NSLog("keyUp: \(theEvent)")
}
きっとWindow
とかから伝わってくるのだろう。
参考: Handling Key Events (公式リファレンス)
勉強用図書:
Swift2:
Swift3:
コメント