fcitxでChrome/Electronの日本語入力がおかしい場合の対処法

Last updated at

warning

この記事は最終更新から3年以上経っています。情報が古くなっている可能性が高いです。

現象

X 環境で fcitx を使っている時に、日本語入力がおかしくなる環境がある。 具体的にいうと、IME で入力中に入力したキーがたまに直接入力されてしまう。

例えば、「あいうえお」という文字列を打っていた場合、iキーを押した時にその入力が IME にわたらずに直接編集エリアに入力されてしまう。 IME 上に渡っている未確定文字列には影響がないため、そのまま確定すると「i あうえお」という文字列が入力されてしまう。

Chrome(Chromium)、及びそれらをレンダリングエンジンとして使うアプリケーション全てで発生する。 Electron でも発生するため、Atom や VSCode 等でも例外なく発生する。

原因

何らかの理由で Chrome が fcitx を使わずに xim(XInputManager)直接使ってしまっているのが原因。 Gnome 環境でのみ発生?

対処

環境変数XMODIFIERSを設定しても無視されるため、Gnome の設定に焼きこんでしまう。

gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"

参考