Я пытаюсь определить, нажата ли клавиша U
или нет, и если это так, то должно быть print("BUT...BUT..");
, но я не уверен, как проверить разные ключи, так как документация нажатия клавиш очень плохо .. я нашел ответ с кодами клавиш, но они работают только для QWERTY клавиатурыПроверьте, нажата ли клавиша u Swift Cocoa
viewcontroller.swift
override func viewDidLoad(){
super.viewDidLoad();
let f = Foo();
f.doSonethimg();
}
override func keyDown(theEvent: NSEvent){
let f = Foo();
f.KeyDown(theEvent);
}
Foo.swift
public func doSonething(){
print("Hello from Dylib");
}
public func keyDown(event: NSEvent){
if let keyString = theEvent.charactersIgnoringModifiers where keyString == "u" || keyString == "U" {
Swift.print("BUT...BUT…")
}
}
Как я могу изменить функцию keyDown
для ответа на U
и что это за ключ по умолчанию?
Я смотрел - Detecting key press event in Swift и https://superuser.com/questions/399430/mouse-button-and-keypress-counter-for-mac-os-x
также см - https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/HandlingKeyEvents/HandlingKeyEvents.html - Переопределение KeyDown: Метод
Считайте, что поведение функциональных клавиш (в виде F-клавиш) зависит от настроек в Системных настройках – vadian
, это правда, спасибо, я обновлю свой вопрос соответственно – Gerwin
Вы прочитали документацию NSEvent? NSEvent имеет методы получения информации о ключевых событиях, например 'characters'. События Keydown не имеют ключа по умолчанию. – Willeke