Corredor

ウェブ、プログラミングの勉強メモ。

日本語キーボードの MacBook で英数・かなキーと Cmd キーにお互いの機能を持たせる

会社で日本語キーボードの MacBook を利用している。家では英字配列の MacBookPro を使っているので、スペースキーの左右に Command キーがなく、「英数」「かな」キーが存在していることが慣れない。

英数・かなキーがそのまま Command キーになるようなキーリマップはできないかなと思ったのだが、それだと入力切り替えができなくなりそうだ。

そこで、

  • 英数・かなキーと他のキーのコンビネーションを、Cmd キーのコンビネーションとして見せかけつつ、
  • 英数・かなキー単体で押した時は本来の入力切り替えの動作として使えるようにし、
  • Command キーを単体で押したときも英数・かなキーと同じように入力切り替えの動作をさせる

ということができないか試行錯誤してみた。

結果としては、「英かな」と「Karabiner-Elements」を組み合わせることで実現できた。

「英かな」の設定

MacOS Sierra で Karabiner が使えなくなり、その代替アプリとして広まっている「英かな」。最近は英数・かなキー以外のキーリマップもできるようになったようだ。

「英かな」では、「Command キーを単独で押したときに英数・かなキーの動作をさせる」ように設定する。

  • Command_L → 英数
  • Command_R → かな

Karabiner-Elements の設定

Karabiner-Elements も Karabiner の代替アプリで、機能が少ない。

「英かな」だと、「英数キーを押したときに Command キーに見せかける」といった設定ができなかったので、こちらで設定してみた。

なお、予め「Virtual Keyboard」タブで「JIS」を選んでおくこと。

  • 英数キー → left_command
  • かなキー → right_command
  • left_control → caps_lock
  • caps_lock → left_control

上の2つで、英数・かなキーをそれぞれ Command キーとして見せかけることができている。

下の2つは、システム環境設定の「修飾キー」設定で Ctrl と CapsLock を入れ替える設定にしていたものが効かなくなっていたので、Karabiner-Elements で再指定するようにしたもの。何で日本語配列だと Control の位置に CapsLock があるんだろうなぁ…。

とりあえずこれで、

  • 英数・かなキーと他のキーのコンビネーションを、Cmd キーのコンビネーションとして見せかけつつ、
  • 英数・かなキー単体で押した時は本来の入力切り替えの動作として使えるようにし、
  • Command キーを単体で押したときも英数・かなキーと同じように入力切り替えの動作をさせる

ことが可能になった。

英数・かなキーは Command キーのように振る舞えるので、「Cmd + S」みたいなことが「英数 + S」キーとかでできるようになっているし、それでいて「英数・かな」単独でも、「Command」キー単独でも、入力方式の切り替えができるようになった。