英語キーボードで,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を業務で使っている日本の方ならだいたい使っているので,そんなに大層なことかなぁと私は思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。