simple-web-system technology

Webに関する技術をシンプルに扱うブログ

Linuxでcapslockとctrl入れ替えのまとめメモ(i3wmとかもあるよ)

i3wmなどのタイル型WMを使っていると、「CapsLockをCtrlにする」という定番設定さえ、意外と面倒

MacではKarabinerを使えば一発だったけど、Linuxではなぜか「input remap utility」というカテゴリの存在に自分はなかなか辿り着けなかった(多分ググり方が悪かった)。

最近ようやく全体像が見えてきたので、自分のメモとしてまとめておく。


1. OS標準の設定(GNOMEmacOSなど)

もしi3のような軽量WMではなく、GNOMEmacOSを使っているなら、OS標準のカスタマイズ機能を使うのが一番無難。 わざわざ追加ツールを入れなくても、OSの設定画面から安全にCapsLockをCtrlに変更できる。

2. xmodmap を使う方法

Xorg環境で古くから使われているユーティリティ。

  • メリット: 仕組みが単純で、設定ファイル(.Xmodmap)を読み込むだけで動く。
  • デメリット: ホットプラグ(デバイスの抜き差し)に対応していない。新しいキーボードを繋ぐたびに設定を再適用しないといけないのが、今の時代にはかなり不便。

3. input remap utility を使う方法

ソフトウェアデーモンとして動作し、入力をフックして変換するツールの総称。デバイスの抜き差しにも強く、今の自分にとってはこれが正解。

  • Input Remapper: 現在使用中。GUICLIの両方があり、デバイスごとの設定が直感的にできる。
  • kanata: 今ちょっと興味があるツール。 Rust製で、WindowsmacOSでも動くクロスプラットフォーム対応。設定ファイルが若干難しそう。input remap utilityの中では、勢いはありそうな気配

github.com


まとめ

  • 軽量WM(i3など)なら: input remap utility。今はinput remapperを使っている
  • 普通のOS(GNOMEなど)なら: OS標準設定で十分。
  • xmodmapは: 抜き差しに弱いので、現代の環境では少し厳しい。

参考URL