かってきままな日々
2024-02-15 (Th) [長年日記]
_ WSLg + Emacs pgtk (Wayland) + mozc.el で日本語入力
ArchLinux。fcitx5 なしで。
-
emacs-wayland をインストールする
-
AUR から mozc と emacs-mozc をインストールする
-
Windows に PowerToys をインストールする
-
PowerToys の Keyboard Manager で以下のように設定する
- キーの再マップ
- Win (Right) から Alt (Left) + IME Kanji
- OK をクリックすると警告が出るが、「それでも続行する」
- ショートカット
- Alt (Left) + IME Kanji から F12 msrdc.exe
こう設定することで、右 Win を押すと一旦 Alt (Left) + IME Kanji になり、 普通の Windows アプリ (原神を含む) ならこれで日本語入力可能。 WSLg の場合は msrdc.exe なので、更にショートカットが適用され、F12 になる。
どうも、Keyboard Manager と WSLg の組み合わせだと、Alt キーがうまく機能しない みたい。かといって、再マップに半角全角キーを単体で設定すると、キーボード配列を 101 にした時に反応しなくなる。あと、ショートカットの変換元は modifier キーが 必須。といういろいろな条件をくぐり抜ける設定を模索した結果が、こんな感じ。
Windows アプリでも WSLg アプリでも、キーボードの Win (Right) のみでトグルしたい、 という要望が根底にある。
- キーの再マップ
-
~/.emacs に以下の設定をする。
(let ((key "<f12>")) (require 'mozc) (global-set-key (kbd key) 'toggle-input-method) (define-key mozc-mode-map (kbd key) 'toggle-input-method)) (setq pgtk-use-im-context-on-new-connection nil)
これで、F12 でトグルする。
以上で、WSLg 上の Emacs pgtk で日本語入力できる。 WSL で IDE とか使うなら fcitx とか必要なんだろうけど、 Emacs だけなら mozc.el で OK。