Karabiner-Elementsは簡単なキー変更をしたあとに複雑な変更をする

タイトルの通りです。

環境はKarabiner-Elements v14.12.0とHHKB Professional 2英字配列。

Karabiner-Elements では Simple Modifications の評価をしてから Complex Modifications の評価をする。例えばSimple ModificationsでAキーをBキーに変更するルールを書いて、またComplex Modificationsで"Bが入力されたらその入力をCmd-Bと解釈する"ルールを適用することとする。そうすると物理Aキーを押したときに"Cmd-B"が発火するようになる。

例えたことによってより分かりにくくなったことも否めないが、つまりはSimple Modifications の評価をしてから Complex Modifications の評価をするということだ。

実例

僕はHHKBを使っているが、スペースバーの両隣にあるキーをOptionとして解釈するようにHHKB側で変更している。何故かというとWindowsLinuxで使うときはこの配置の方が嬉しいと考えているからだ。

しかしMacで使うときはスペースバーの両端のキーはCmdと解釈して欲しい。これにも理由があって、左Cmdキー単押しで英数となるようにComplex Modificationsで設定しているからだ。 しかしハード側でスペースバーの両端キーはOptionとして解釈される。どうしよう。

このような複雑な設定をしたい場合ルールの評価順が重要になってきて、Simple Modifications->Complex Modificationsの評価順であることによって次のことが出来る。 - Simple Modifications でOptionキーとCmdキーを入れかえる - Complex ModificationsでCmdキーに対するルールを入れる

こうするとOptionキーとしてキーボードから発出される信号をComplex Modificationsを評価するタイミングではCmdキーとして解釈してくれる。

とりあえず書いたらよく分からないことになったが、タイトルの通りです。