是否可以检测 iPad 智能键盘上的按键按下和释放?
Is it possible to detect key presses and releases on iPad Smart Keyboard?
我是 iPad 的开源合成器 AudioKit Synth One 的开发者之一,有人给我们留下了评论,要求通过物理智能键盘而不是屏幕键盘。类似于 Mac 的 "Musical Typing" 上的 Garageband 或 Logic Pro 的功能。
为此,我需要能够响应按键和按键释放。有谁知道 Apple 的 API 目前是否可以做到这一点?
可以通过重写 UIResponder
的 keyCommands
属性(其中 UIViewController
是一个子类)来响应来自外部键盘的按键操作,但是,您不会能够检测不同的动作,例如,按下或释放。
覆盖本应捕获此事件的 UIViewController
的 属性
Swift:
override var keyCommands: [UIKeyCommand]? {
return [
UIKeyCommand(input: "Z",
modifierFlags: [],
action: #selector(didPressZ)),
UIKeyCommand(input: "X",
modifierFlags: [],
action: #selector(didPressX))
] /// etc., return UIKeyCommand for each key you want to react to
}
我是 iPad 的开源合成器 AudioKit Synth One 的开发者之一,有人给我们留下了评论,要求通过物理智能键盘而不是屏幕键盘。类似于 Mac 的 "Musical Typing" 上的 Garageband 或 Logic Pro 的功能。
为此,我需要能够响应按键和按键释放。有谁知道 Apple 的 API 目前是否可以做到这一点?
可以通过重写 UIResponder
的 keyCommands
属性(其中 UIViewController
是一个子类)来响应来自外部键盘的按键操作,但是,您不会能够检测不同的动作,例如,按下或释放。
覆盖本应捕获此事件的 UIViewController
的 属性
Swift:
override var keyCommands: [UIKeyCommand]? {
return [
UIKeyCommand(input: "Z",
modifierFlags: [],
action: #selector(didPressZ)),
UIKeyCommand(input: "X",
modifierFlags: [],
action: #selector(didPressX))
] /// etc., return UIKeyCommand for each key you want to react to
}