Ubuntu 22.04上でCapsLockをCtrlにする設定がうまく動作しないとき(主にChromium系ブラウザ上で確認)
背景
私はCapsLockをCtrlキーとして使う設定を好んで使います。自作キーボードの場合CtrlキーをCapsLockキーがよくある場所に配置するので問題ないのですが、ノートPCのビルドインキーボードではそうも行かないので下記のような操作によってCapsLockをCtrlキーとして扱えるようにしています。(どっちかだけでいいです)
- TweakでCapsLockをCtrlキーに設定する
-
/etc/default/keyboard
にXKBOPTIONS="ctrl:nocaps"
を追記する
しかし、今の私の環境ではうまく動作しないケースがありました。デフォルトで入っていたテキストエディタやAlacrittyではうまくCapsLockをCtrlキーとして扱えているようでした。しかし、愛用しているブラウザVivaldi上では、CapsLockとして動作しているようです。正確には、CapsLockとしてもCtrlとしても動作しているように見えました。
その環境は以下の通り。
- Thinkpad X1 Nano
- Ubuntu 22.04
原因と解決方法
おそらく、原因はWaylandです。というより、WaylandとChromium系ブラウザとの相性でしょう。WaylandというのはXorgに変わりUbuntu22.04のデスクトップ環境から導入されたディスプレイサーバです。今まで何度も導入を見送ってきた中、NVIDAのGPU環境以外ではこのWaylandがデフォルトになるように変更になったそうです。下記のように、ログイン画面から切り替えが可能です。
切り替えると、意図したとおりに動きました。
蛇足
Waylandが正式にデフォルトのディスプレイサーバとして採用されたのはこれが初めてっぽいので、今後改善されていくんじゃないでしょうか。特にこだわりもないので、Xorgにしてしまおうと思っています。
ちなみにVivaldiの最新バージョン(2022/12/02時点のSnapshotビルド)と、2022/12/03時点のStableバージョンである5.5.2805.48、Chromiumで再現することを確認しています。
Discussion