生じた問題
GNOME デスクトップを使っていて /etc/default/keyboard を編集して、CapsLock を Ctrl にしようとしたのに期待された挙動になりませんでした。
書き込んだ設定
/etc/default/keyboard
# CapsLock をなくして Ctrl にする
XKBOPTIONS="ctrl:nocaps"
期待された挙動
- CapsLock が Ctrl になる
- CapsLock の機能をもつキーは消える
実際の挙動
- CapsLock が Ctrl になる
- 左 Ctrl が CapsLock の機能になる
この挙動はctrl:nocaps ではなく ctrl:swapcaps の挙動です。仮想コンソールを開くとちゃんと nocaps の仕様になっているようなので、これは GNOME デスクトップの設定と競合しているのだと推測しました。
対処法
ターミナルで dconf-editor を実行します。
$ dconf-editor
GUI の設定画面が開くので org > gnome > desktop > input-sources > xkb-options を開きます。そこに Custom Value 欄があり、['ctrl:nocaps', 'ctrl:swapcaps'] などと並んでいるので必要な内容(ここでは 'ctrl:swapcaps' を削除する)に編集します。