🦋
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