はじめに
Ubuntu24にするにあたって、キーのCapsLockを左Ctrlに変更したかった。Ubuntu初心者だったので、自身がWayland+GNOMEで利用していることもわかっていなかった。
特段、バージョンを指定しないでChatGPTに聞くと、どうしてもX11を前提として答えてきたので、詰まってしまった。
X11,Waylandの区別がちゃんとつくようになりたかったので、学習したときのメモを図で残す。また、GNOMEについてもあわせて勉強する必要があったので、メモを図で残す。
URL
XとWaylandのアーキテクチャの違い
GNOMEデスクトップの構成要素
依存の順番は自分のイメージで作成。誤っているかもしれないが、目的としてはざっくり用語と役割を覚える際に、位置関係を把握するためにジャンル分けするために作成
おわりに
結果的に、gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"
で変更できて、快適になった。
後日談
その後、fnキー+hjklでカーソルを割り当てたいと思った。そして、fnキーは(ctrlやaltなどとも異なり)押してもソフトウェア的に認識されない(fn+なにかキーを押したタイミングでようやくfnキーと押されたことがハードウェア的に伝わる)ことがわかった。つまり、fnキーの位置のキーは、多分変えられないということ(https://askubuntu.com/a/818421)。
fnキー以外のキーをfnキーのように振る舞わせること自体はソフトウェア的にできそうだった。また、udevなどでも、もう少し踏み込んだことができそうだった(https://bearmini.hatenablog.com/entry/2023/12/03/134330)が、どうもハードウェアをソフトウェアで頑張ってハックしているようだった。以前から気になっていたHHKBなら、ハードウェアレベルのキーマップをHHKBキーボード本体に記憶させる形で変更できるらしいので、HHKBにすることにした。
あと、そもそもgsettingsだと、GNOMEデスクトップ前提になりそう。xremapは、名前に反してwaylandでも利用できるとドキュメントにあるので、可能なら今後はGNOMEでなくxremapを利用してみたい。