GMOペパボアドベントカレンダー2021。今日から始まりました! …が、これはその記事ではないです。doewくんの記事楽しみですね。
さて、本題。 今まで、CapsLock <-> Ctrlの入れ替えをgnomeの機能の行っていた。 具体的には以下のコマンドを実行する、もしくはgnome-tweakなどで設定していた。
gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"
しかし、どうもUbuntu21.10から(?)、私の環境ではノートPC内蔵キーボードではこの設定が効かなくなってしまった。 setxkbmapを見ても設定されていないことがわかる。
❯ setxkbmap -print xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+jp+us:2+inet(evdev)" }; 👈 ここにctrl(nocaps)が入るはず xkb_geometry { include "pc(pc105)" }; };
/etc/default/keyboard
などに設定してみたがうまく反映されなかった。
普段は、自作キーボードで作業していてこの問題は発生しないのだが、外やオフィスで作業するときに本体キーボードで作業するときにとても不便である…*1。
色々調べていたらudevで解決する方にたどり着いたので、それで設定することにした。 私の環境では以下の設定を行ったらうまく行った。
❯ cat /etc/udev/hwdb.d/90-nocaps-keyboard.hwdb evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr* KEYBOARD_KEY_3A=leftctrl ❯ sudo systemd-hwdb update && sudo udevadm trigger
詳しい設定内容は参考サイトを参照をば。 これでとても快適な生活を送れるようになってハッピー!
参考サイト
*1:当初この問題に気が付かなくて、ターミナルで操作するたびに日本語入力モードになっていてイライラしていた