Ubuntuリモートログインの課題
日本語キーボードなノートPC(Lenovo Ideapad)からUbuntu26.04へリモートデスクトップ接続した場合、
- 「|(パイプ)」が入力できない
- 漢字キーが高速リピートする
という課題があり、特に1.はLinuxを使う上で致命的なので対策した。
現象
バックスペース左隣の「|」キーが無反応。このキーはxevやwevでイベントが返らない(つまりどうしようもない)。漢字キーが高速リピートしてまともに使えない。
対策
/usr/share/X11/xkb/symbols下のファイルをカスタマイズして対応する。
- 「|」をCopilotキーへ割り当てる
- 漢字キーのリピートをオフにする
「|」をCopilotキーへ割り当てる
/usr/share/X11/xkb/symbols/inetを次のように修正。
- 修正前
key <FK23> { [ XF86TouchpadOff, XF86Assistant ], type[Group1] = "PC_SHIFT_SUPER_LEVEL2" };
key <I591> { [ XF86Assistant ] }; // KEY_ASSISTANT
- 修正後
key <FK23> { [ bar, bar ], type[Group1] = "ONE_LEVEL" };
key <I591> { [ bar, bar, bar, bar ] }; // KEY_ASSISTANT
漢字キーのリピーとをオフにする
/usr/share/X11/xkb/symbols/jpを次のように修正。
- 修正前
key <HZTG> {[ Zenkaku_Hankaku, Kanji ], type[group1]="PC_ALT_LEVEL2" };
key <HZTG> {[ Zenkaku_Hankaku, Kanji ], type[group1]="PC_ALT_LEVEL2" };
- 修正後
key <HZTG> {[ Zenkaku_Hankaku, Kanji ], type[group1]="PC_ALT_LEVEL2", repeat=No };
key <HZTG> {[ Zenkaku_Hankaku, Kanji ], type[group1]="PC_ALT_LEVEL2", repeat=No };
同じ設定が2箇所あるので、念のため両方修正。
反映
XKBのキャッシュの削除。
sudo rm -rf /var/lib/xkb/*
再ログイン。
所感
おそらく一生使うことが無いと思われたCopilotキーが有効活用できて良かった。
Copilotキーが無い場合は右Alt等に割り当てれば良いと思う。
注意点
当記事は「おま環」なので、各自のPCでキーコードを調べて行うこと。