キーボードがおかしい
PC に久し振りに Emacs を入れたら、キーボード配列がおかしい。 どうすれば直るんだろう。
ここ最近はエディタに VSCode ばかり使ってたけど、 C のソースを追っかけるのにどうも便利じゃないもんで wsl2 のうえに久し振りに Emacs を入れた。
最近の wsl2 は便利になったもんで、 Windows 側に X サーバ入れなくても X のアプリが動く。 Emacs を "-nw" オプションなしで開くなんて何年ぶりか。
ただ、どういうわけかこの Emacs、Shift-2 で "@" が出る。 いわゆる英語キーボードだ。 ぐぐってみると、WSL2 の X アプリで割とあることみたい。
割とあるし割とみんなさくっと直せてるみたいなんだけど、 なんでか直らないんだよなあ。どうすりゃ直るんだろう。
まずは WSLのキーボードが英語配列になってしまふ - Qiita と emacsやgnome-terminal上でキーボードが英語配列になってしまうとき を参考にしてみた。
環境変数
ターミナルで動かすアプリは日本語化できているので、 以下はそもそも完了していた。
sudo apt instal language-pack-ja sudo update-locale LANG=ja_JP.UTF-8
dpkg の設定
sudo dpkg-configure keyboard-configuration
すればよいという。
これをやるとインストーラみたいなテキスト GUI が出てきて、
キーボード設定ができるという。
そこでこのコマンドを唱えてみた。しかし何も起きなかった。
wsl2$ sudo dpkg-reconfigure keyboard-configuration Your console font configuration will be updated the next time your system boots. If you want to update it now, run 'setupcon' from a virtual console. wsl2$
なんでフォントがどうとか言われてるのか知らないけど、 本来ならこの "Your console font configuration will be ..." は設定を完了させたあとに出てくるものらしい。 コマンド実行したら即これが出てきて終わるのは、なんでだろう。
そして、これで解決したっぽい記事の、なんと多いことか。(うらやましい)
X の設定 1
/etc/default/keyboard にキーボードを指定する必要があるらしいので、
sudo vi /etc/default/keyboard
する。
XKBMODEL="pc105" XKBLAYOUT="us"
と記載されていたので、ここに jp106 キーボードを書く。
XKBMODEL="jp106" XKBLAYOUT="jp"
そして Emacs を起動。だめだから wsl2 を再起動して Emacs を起動、Windows を再起動して Emacs を起動。だめ。
この方法もだめか。
X の設定 2
fcitx-configtool
というツールで設定できるらしい。
fcitx は Linux 用の多言語文字入力ツールだったような。
このコマンドはインストールされていなかったが、fcitx-tools というパッケージに入っていたので、
sudo apt install fcitx-tools
でインストールして実行してみた。
日本語も英語もなんも選択できんし、検索もできんから追加もできん。
現在の対策
いっしょーけんめい思い出しながら使っています、us 配列。
学生の頃 us 配列と jp 配列が混在してる環境でよかった。