IME

  • IME: Input Method Editors
  • IMF: Input Method Framework

Excalidraw

Fcitx5

  • 4以前とだいぶ変わっている(リポジトリも別)
  • アーキテクチャ
    • Frontend: applicationとの通信。キーイベントの受け取りとか。
      • バス部分(DBus/IBus/uim(?)):source code
        • バス内のプロトコルは各アプリケーション/UI Toolkitで共通か?
      • UI Toolkit: Qtとか
        • fcitx5-qt: qt5/platforminputcontext
          • org.fcitx.Fcitx.InputContext1(.xml)にDBusのスキームがあって、Fcitx5本体からも参照している模様
    • IME: Mozcなどに投げる
    • UI
    • その他Module
  • Qtとの連携
    • org.fcitx.Fcitx.InputContext1.xml のsignal要素から、FcitxがQtに送るシグナルがわかる
      • DBusにおけるmethodとsignalの区別は?
      • method: Qt→Fcitx, signal: Fcitx→Qt?
    • QLineEdit::inputMethodQueryにQPlatformInputContextがQLineEdit(など?)から取得できる情報が載っている
      • ブラウザ(electron)からは?
      • surroundingText = lineedit内のテキスト全体
  • Mozcとの連携
    • fcitx/mozc
    • mozcをfcitxがフォーク、/src/unix/fcitx5 以下を追加
      • 一部はunix/ibusなどからのコピーと思われる
      • fcitx5-mozcのパッケージは差分のpatchで構成されている

気になること

  • surroundingText
    • 範囲?
    • Mozcはどのようにして使っている?

参考

Backlinks

There are no notes linking to this note.