デスクトップで Arch Linux を使っていて、Gnome や KDE を使わず、ウィンドウマネージャに fvwm2 を使っている。
そのため、キーボードの設定も xkb にて行っている。
ところが、気づくと Ctrl/CapsLock の入れ替えなどが無効にされていた。
ノートPCとデスクトップPCとでキーボード・マウス・ディスプレイの切替器をつかっており、原因はこの切り替えにあった。
キーボードは USB 接続で、ノートPCに制御を移すと一時的に切断されたことになる。
このあと、制御をデスクトップPC側に戻すと、英語キーボードとして認識されていた。
長らく原因がわかっておらず、fcitx を ibus に変えたり、xmodmap でも設定していたのをやめたりと試行錯誤していた。
それらも原因の可能性はあったが、最終的にキーボード切り替えが残っている。
Arch Linux の Wiki では、xkbcomp コマンドによる固定キーマップの設定ではなく、/etc/X11/xorg.conf.d/ にルールを保存すれば良い、とあった。
ルールについて細かいキー設定方法は、まだ調べていない。
Ctrl と CapsLock の入れ替えはかんたんに思うが、変換キーを全角/半角キーにしたり、無変換キーを左ALTキーにしたりもあわせて設定したい。