トップ 最新

かってきままな日々

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。