Ubuntu 20.04 で CapsLock を全角/半角に置換する

はじめに

US配列のキーボードを買いました。 Filco の Majestouch Stingray です。

www.diatec.co.jp

CapsLock で 日本語入力 <-> 英語入力 で切り替えられるように設定します。

手順

dpkg-reconfigure

JIS 配列として認識されていたので、US 配列に変更。

$ dpkg-reconfigure keyboard-configuration

Keyboard model は Generic 104-key PC を選択。 あとはいい感じに設定(詳しく書くのがめんどくさい)

Xmodmap

Xmodmapでキーバインドを変更します。 CapsLock を Zenkaku_Hankaku に置換。

xev で CapsLock のキーコードを確認します。 コマンドを打ってから調べたいキーを押しましょう。

$ xev
KeyPress event, serial 37, synthetic NO, window 0x3400001,
    root 0x1e6, subw 0x0, time 1220891, (965,876), root:(2935,954),
    state 0x10, keycode 66 (keysym 0xff2a, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

キーコードが 66 であることが分かりました。

次に、ホームディレクトリに設定ファイルを置きます。

$ touch ~/.Xmodmap

.Xmodmap に以下を記述していきます。 ! はコメント行。

! CapsLock -> Zenkaku/Hankaku
remove Lock = Caps_Lock
keycode 66 = Zenkaku_Hankaku

~/.bashrc の末尾にでも以下を記述しておきましょう。

xmodmap ~/.Xmodmap

再起動するか、

$ xmodmap ~/.Xmodmap

で作業完了。

CapsLock を押して言語入力が切り替われば成功です。