背景:
最近、Windows10でも日本語入力のIMEオフオンが「全角/半角」キーだけではなく、CapsLockキーでも変更可能になりましたね。実際にCapsLockキーに割り当てたら非常に効率良くなりましたので、プライベートPCのUbuntuでもCapsLockを利用することにしました。
この設定自体は、Kubuntu上の入力メソッドで簡単に変更できました。
なお、実行環境: Ubuntu 20.04.3 LTS, KDE Plasma:5.18.5 ですが、設定自体はディストリビューションなどに依存していないと思います。
問題発生:
初めはCapsLockのオフオンが快適でしたが、暫くしていると日本語のオフオンのCapsLockと本来のCapsLockとが競合するようになりました。意図せずに、大文字でロックされるようになり、使いづらさを感じてきました。どうやら、デフォルトではCapsLockを一度押すだけで、本来のCapsLock(大文字ロック)になってしまっています。
Windowsなどでは、そもそも大文字に固定したい場合には、Shift+CapsLockキーを押すことで固定できます。私は、そもそもCapsLockを使うことはありませんので、Shift+CapsLockにしたいと考えました。
デスクトップ環境に付属しているツールによっては、Shift+CapsLockに変更可能という情報はありましたが、私が利用しているKubuntuでは、該当のツールがなかったため、他の方法を模索し始めました。
解決したかったこと:
- Shift+CapsLockでCapsLockとし、 CapsLockは日本語入力専用にしたい。(Windowsに合わせたい)
- キーの入れ替えなどはややこしくなるので、避けたい
実施したこと
###1. xmodmapコマンドでの確認
~/$ xmodmap
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
lockというエントリーが気になります。ここにエントリーがあると、一度押しただけでロックされるようです。
特に何も設定しているつもりはないので、どこかにデフォルト値が入っていると思います。
デフォルト値がわかればそこを変えればよいのですが、今回は手っ取り早く、ユーザーの設定で上書きします。
###2. .Xmodmapの作成と追加
そこで、以下のようにファイルを作成し、気になるlockを消す設定を入れます。
remove lock = Caps_Lock
一旦、これを再読込させ、動作確認をしてみます。
~/$ xmodmap ~/.Xmodmap
###3. .bashrcへの追記
ただし、このままでは再起動などで消えてしまうため、.bashrcに入れておきます。
xmodmap ~/.Xmodmap
試しに再起動してみて、動作確認してみたところ、うまく動作することを確認しました。
これでまた、Ubuntu(Kubuntu)が快適になりました。