XFCE4などでCtrl/Capsを永続的に入れ替える

試した環境はArchLinuxとXFCE4。多分X11ならどれでも。

setxkbmap -option ctrl:nocaps.xprofileなどに書く方法だと、USBに何か変更があったとき?などに設定がいちいち飛んでしまう。

今のところ上手く行っている方法は/etc/X11/xorg.conf.d/00-keyboard.confのシステムキーボードにctrl:nocapsの行を追加する方法。xp-pen-tabletユーティリティの起動・終了などでオプションがリセットされなくなった。

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "jp"
	Option "XkbOptions" "ctrl:nocaps" # これ
EndSection

Arch Wikiによるとlocalectlで設定は上書きされてしまうらしい。localectlを使う際にオプションを指定してやると良いみたい。