英語キーボードで,Wayland,Xどちらの環境でもCapsLockキーをHyperキーにうまく置き換える設定を探していて,うまく見つかったので気分よいついでに,めんどくさそうな質問の答えを考えてみました。
まず,前提として日本語入力をibus-mozc(fcitx5-mozcを代わりに入れていない状態)とします。
fcitx5-mozcならもっと簡単な別解もありそうですが,私は使ったことはないので教えられませんのであしからず。
この状態でmozcの機能に設定できるショートカットは私の経験ではかなり限られています。
まず,明らかに設定できないキーから
- モディファイアキー単体
Shift,Ctrl, Alt(Meta),Super(Windowsキー),Menuキー,Caps Lock,Key Padなど
- Shift,Ctrl以外でのコンピネーション,(Alt + `,Super + 何とか など)
- OS(Ubuntu)側で設定されているキーのコンビネーション
- Ctrl + Shiftなど,二つのコンピネーションで入力されるキー入力
- Shift + 英字キー
と,まぁほとんどのキーはショートカットに設定できません。
当然,CapsLockは設定できないので,本気で設定するためには
Shift + F12等のショートカットをmozcの切り替えに登録
Caps Lockを押すと1.のショートカットが入力されたことにする
のような形で,二段階にするのが定石ではないでしょうか?
まずは設定できるショットカットを登録します。
今回はShift+F12にします。

設定を反映させるため一度,ログアウトして再ログインします。
Shift+F12でIMEの状態が切り替わることを確認しておきます。
次に,input-remapperというソフトをインストールします。キーのカスタマイズツールです。
sudo apt install input-remapper
でインストールします。
input-remapperを起ち上げます。sudoのパスワードを聞かれるので入力します。
立ち上がったらまず,Deviceから使っているキーボードを選び,
Presetの名前でも変更します。RenameのところにCapsLockIMEとでも入力して[↓]ボタンを押して,
Presetの名前を変更します。

続いて,右側のCange Keyのところを左クリックしてから「Caps Lock」キーを押します。
すると,中央上のところに「Caps Lock」が強調され,Change Keyの下に入力できる項目が出てくるので,
先ほど設定したShift_L+KEY_F12を入力します。入力途中で候補が出てくるので,楽に入力できると思います。
この状態で,左側Applyを押すと,Caps LockキーでIMEが切り替わるはずです。
右上のStop Injectionでキーの置き換えを停止できます。
左下のAutoloadをトグルすると,自動で有効になるのだと思います。

なお,画像の方は自分の環境ではCapsLock→Hyperなので,本来はここがCapsLockと表示されると思います。
質問に書いてある内容について
- MozcはIT専門家やプログラマーでなくてもLinuxを業務で使っている日本の方ならだいたい使っているので,そんなに大層なことかなぁと私は思います。