Я хотел бы захватить ключевые события в своем маленьком приложении.
Что я сделал:
class ViewController : NSViewController {
...
override func keyDown(theEvent: NSEvent) {
if theEvent.keyCode == 124 {
println("abc")
} else {
println("abcd")
}
}
override var acceptsFirstResponder: Bool {
return true
}
override func becomeFirstResponder() -> Bool {
return true
}
override func resignFirstResponder() -> Bool {
return true
}
...
}
Что происходит:
При нажатии клавиши звуковой эффект Funk
воспроизводится.
Я видел много сообщений о том, как это делегат, принадлежащий NSView
и NSViewController
не имеет доступа. Но функция keydown
override
auto завершается в классе типа NSViewController
, заставляя меня считать, что это неправильно.