这段代码是我写的。我的问题是, keyDown 函数仅监听某些键(字母、数字、空格、字符、Tab。)。但是,它完全忽略 caps lock 和 ⇧ Shift 和 Control 等键。我怎样才能让它听这些按键?
class GameClient: NSView {
override var acceptsFirstResponder: Bool {
return true
}
override func keyDown(with event: NSEvent) {
print(event.keyCode)
}
override func keyUp(with event: NSEvent) {
}
}
建议的欺骗中的答案并不能完全回答我的问题。我不想查看在按下 A 时是否按下了 ⇧ Shift,我想检测何时单独按下 ⇧ Shift ,例如。
最佳答案
问题是如何捕获独立的 Shift 键事件,而不是检测是否在另一个键按下时按下 Shift 键。您想要执行此操作:
override func flagsChanged(with event: NSEvent) {
print(event.keyCode)
}
override func keyDown(with event: NSEvent) {
print(event.keyCode)
}
override func keyUp(with event: NSEvent) {
}
关于swift - NSView keyDown/keyUp 忽略 Swift 中的特定键。如何让它监听所有按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60062349/