ひとしれずひっそり

主にソフトに関することをメモしていきます。過程をそのまま書いていたりするので間違いが含まれます。鵜呑みしない様に。

Keyboard shortcut

SwiftUI の Keyboard shortcut は簡単だ。

View に keyboardShortcut で指定するだけ。

Button() {
    debutPrint("Copy Action")
} label: {
   Text("Copy")
}
.keyboardShortcut("c")

iPadだとToolbar button に割り当てればいいだろう。

Keyboardをペアリングして ⌘+C を押すとコピーアクションが実行できる。

ただdeleteはどうするかはまった。
こちらに答えがあった。

stackoverflow.com

modifiers の デフォルトが .command なので組み合わせるキーがないことを示す空の配列を指定する。

Button() {
    debutPrint("Delete Action")
} label: {
   Text("Delete")
}
.keyboardShortcut(.delete, modifiers:[])

redo はこうなる。

Button() {
    debutPrint("Redo Action")
} label: {
   Text("Redo")
}
.keyboardShortcut("z", modifiers:[.command, .shift])

初期のWireless Keyboardを使っているんだが、いつの頃からか一部のキーが入力できなくなったり、キーが入れ違えてたりと使えなくなってしまった。
捨てるつもりだったが、試しに使ってみたらほとんど入力できた。ほとんどというのはスペースキーだけ入力できないからだ。
確認するにはこれで十分。

故障ということなんだけど、そうそう壊れるもんじゃないし、どこかで互換性を切り捨てたんじゃないかと疑ってる。
んで、その時々で振る舞いが変わって、ほぼ正常な状態になっているのではないかと…