トップ «前の日記 最新 次の日記»

2019-10-19 (Sa) [長年日記]

_ input method の現状

https://wiki.duckcorp.org/index.php/Using_Wayland

↑ここにまとまってるのは、Wayland の現状だけど、その中に input method の 現状も含まれてて、私がさっき探した結果となんとなく一致している。

wlroots は v2 で、ibus は v1 なんだよね。 そして fcitx5 もソースを見たら v1 だった。

wayfire は wlroots を使ってるけど、それだけではたぶんダメで、対応する必要がありそう。

  • ibus engine mozc-jp で自前で切り替えた場合
    • 端末 (gtk アプリ) は、unix socket を使って直接 ibus とやりとりしてるのか?
    • Emacs には toggle キーが届かないので mozc.el は無力。gtk に signal handler を登録してキーイベントを自前で処理してるので、gtk が ibus と直接やりとりすることもない。
  • 何もしない場合
    • wlroots/wayfire が v1 に対応していないので、activate できない。
    • Emacs には toggle キーが届くので、mozc.el を使って直接 mozc で変換できる。
  • GNOME の場合
    • 何がどう動いてたのかわからん

こんな感じ? 推測も含まれてるけど。immodule があるので、直接やりとりくらいはするんじゃないかと。

v1 の場合は activate/deactivate しかなかったのか。他の機能は別の interface だったんだな。で、v2 はその他の機能もいろいろ含めてるんだな。

自分で何とかするなら、v2 に合わせたいけど、ちょっと手間が大きすぎるかなぁ。

ん? いや、v1 にするか v2 にするかは、display server と input method の間の 話であって、アプリケーションには関係がないはず。

コンポーネント 現状 v1 にする場合 v2 にする場合
ibus v1 そのまま v2 に対応する
wlroots v2 無視 使う
wayfire なし 作る wlroots をベースにして作る

wayfire 用に v1 対応させるのが一番楽そう? 何やんなきゃいけないのかは、全く不明だけど。

それやって Emacs がどうなるのかは判らない… まぁプラグイン作るならアプリケーションごとに除外くらいはできると 思うけど。

ちなみに、アプリケーション側は、GTK_IM_MODULE=wayland ってのがあって、 ibus と直接喋るんじゃなくて wayland の protocol を通してやりとりする方法 に対応してるっぽい? という推測ができた。 これはこれで X アプリはどうするのか? gtk2 アプリはどうするのか? といった懸念点もあるけど、 gtk2 アプリなんて古代の遺物はそう使うことはなさそうだしな。

_ Re:ステージ!

「リメンバーズ!」 Hard ってすごく難しくない? これで ★12 って…

プレイスタイル変えてちょっとやりやすくなったので、もう少し頑張ってみようか。


編集 パスワード変更