🦋
SwiftUI: keyboardShortcut(_:modifiers:)の注意点
Button {
Swift.print("Hello")
} label: {
Text("Push Me")
}
.keyboardShortcut("a")
上記のようにkeyboardShortcut()
を使うとCommandキー + Aキー
でButtonを押した時と同じ処理を行えます。(modifiers
を指定していなくてもデフォルトでCommandキーが指定されています。)
Commandキー
なしでAキー
だけで発火したい場合は以下のようにmodifiers
に空のSetを渡します。
Button {
Swift.print("Hello")
} label: {
Text("Push Me")
}
.keyboardShortcut("a", modifiers: [])
本題
Shiftキー + 文字のキー
で発火するようにしようと思ったらビープ音が鳴って発火しませんでした。
.keyboardShortcut("a", modifiers: [.shift])
実は、Shiftキーを押すと文字が大文字になるため、ダメ判定になるっぽいです。(つまり大文字小文字を区別している。)
.keyboardShortcut("A", modifiers: [.shift])
こうしたら通りました。
Discussion