📚

Ubuntu 22.04上でCapsLockをCtrlにする設定がうまく動作しないとき(主にChromium系ブラウザ上で確認)

2022/12/03に公開

背景

私はCapsLockをCtrlキーとして使う設定を好んで使います。自作キーボードの場合CtrlキーをCapsLockキーがよくある場所に配置するので問題ないのですが、ノートPCのビルドインキーボードではそうも行かないので下記のような操作によってCapsLockをCtrlキーとして扱えるようにしています。(どっちかだけでいいです)

  • TweakでCapsLockをCtrlキーに設定する
  • /etc/default/keyboardXKBOPTIONS="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