WindowsとWSLでの新下駄配列の設定

WindowsでもWSLでも日本語入力を新下駄配列に切り替えました。これはその導入のメモです。

WindowsではGoogle日本語入力を使って実現するのが簡単です。最新のGoogle日本語入力なら同時押し入力に対応しているのでローマ字テーブルとタイムアウトの設定だけが必要です。ローマ字テーブルは設定のダイアログから変えられるのですが、現状ではタイムアウトの設定は直接config1.dbに書く必要があります。Protocol Buffersで書かれているのでちょっとやっかいですが、Enable_Simultaneous_GoogleIME_config.ipynbからどちらも変更できます。キー設定が変わってもよければ22 - mozc-Shingeta Einstellungen -- 新下駄配列を mozc にて使用する方法から持ってきて置き換えるだけでも大丈夫です。変更後に再起動で入力できるようになっているはずです。これだけ。

WSLのほうは少しやっかいです。Google日本語入力のオープンソース版のMozcを使うのですが、自分が試した段階ではWSLのUbuntuのMozcではバージョンが低くて同時押しに対応していないようでした。きちんと確認はしていませんが、バージョン4450以上で動くようです。バージョンは「ばーじょん」を変換すると「Mozc-2.29.5220.102+24.11.oss」のような感じで出てくるのですが、なんで3つ目の数字を使うのでしょうか?なんで2.29以上みたいな書き方をしないのでしょうか?2022 年10月以降の Mozc に対する主な変更によれば

3 つめの数字 (5250) はバージョン番号をつけ始めてからの経過日数

とのことです。

対応しているバージョンならばWindowsと同様にconfig1.dbの変更だけで動くはずです。対応していないならばソースのダウンロードとコンパイルが必要です。How to build Mozc in Dockerのとおりにやればコンパイルできました。インストールはDockerでビルドしたMozcをUbuntu 22.04 LTSにインストールするのやり方でできました。/usr/local/に入れないで/usr/に直接入れるんですね。心配ならWSLごとバックアップを取ればいいんですよね。

Linuxでは日本語入力はInput Method Framework(以下IMF)とInput Method Engine(以下IME)に分かれるようです。IMFは一般にiBusと呼ばれるものが使われるようですが、CJKV圏ですとFcitxが使われることが多いようです。FcitxはWaylandに対応していないそうなので、その場合はFcitx5が使われるようです。ここではfcitx-mozcを使用します。

Fcitxの設定はfcitx-configtoolfcitx-config-gtk3でやるようです。違いがわかりません。トグルは嫌いなのでShow Advanced OptionsをチェックしてTrigger Input Methodは空にして、Activate input methodInactivate input methodを設定しました。

Windowsのほうではトグル無しでIMEをオン・オフするには変換・無変換キーを使う方法がOSレベルでサポートされていますが、WSLで変換・無変換キーを通す方法がわかりません。ファンクションキーもF12までしか受け付けないようです。ぐぐると使えているようなのでやり方がまずいだけのような気もします。しかたがないのでAutoHotKeyで場合分けして、WSLではF12と制御キーの組み合わせ、Windowsでは変換・無変換を使っています。

WSLでMozcのプロパティを出すには/usr/lib/mozc/mozc_tool --mode=config_dialogで出します。

自分の場合はIMEオフ、IMEオンかつひらがな入力、IMEオンかつ半角英数入力にボタン一発で移行したいです。この場合、MozcのIMEオン・オフとFcitxのIMEオン・オフを一致させておくとよいような気がします。ただ、よくわかっていないので、そんな気がするだけです。FcitxのIMEのオン・オフとMozcのIMEのオン・オフ・直接入力の関係、キーコードをどちらが先に処理するのか、そして消化するのかスルーするのかなど、よくわからないんですよね。

その他困っている点は、WSLgのウィンドウからWindowsのアプリにWin+数字キーでフォーカスを移動しようとすると、またWSLgのウィンドウにフォーカスが戻ってきてしまうことがあるというものです。IMEのオン・オフが関係しているような気がしているのですが、はっきりとした原因はわかりません。

IMEのオン・オフのためのキーがEmacsに渡ってしまうというのもありますが、これはMozcのキー設定かな?

以上、よくわからないことだらけですが、とりあえず使えています。

コメント

このブログの人気の投稿

五十音配列付き新下駄配列

WSLでの親指シフトはどうやらMozcで実現可能と気がつくまで

親指シフト新下駄配列の可能性