タイトルの通りです。
環境は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側で変更している。何故かというとWindowsとLinuxで使うときはこの配置の方が嬉しいと考えているからだ。
しかしMacで使うときはスペースバーの両端のキーはCmdと解釈して欲しい。これにも理由があって、左Cmdキー単押しで英数となるようにComplex Modificationsで設定しているからだ。 しかしハード側でスペースバーの両端キーはOptionとして解釈される。どうしよう。
このような複雑な設定をしたい場合ルールの評価順が重要になってきて、Simple Modifications->Complex Modificationsの評価順であることによって次のことが出来る。 - Simple Modifications でOptionキーとCmdキーを入れかえる - Complex ModificationsでCmdキーに対するルールを入れる
こうするとOptionキーとしてキーボードから発出される信号をComplex Modificationsを評価するタイミングではCmdキーとして解釈してくれる。
とりあえず書いたらよく分からないことになったが、タイトルの通りです。