Skip to content

特定のアプリではダミーのinsertTextを実行 #27

Description

@mad-p

第1打鍵が入力を発生しないときに、そのストロークが表示されてしまうアプリがある(KeePassX、JetBrainsのIDE等)。
第1打鍵がpendingになり、かつIMKInputController.handle内でIMKInputText.insertTextが一度も呼ばれなかった場合、ダミーのinputTextを行う。

実装方針

  • config.jsonに対象となるアプリのbundle_idを設定できるようにする
  • ダミーinsertText方式としてNUL文字1文字を送る方法と空文字列を送る方法を用意し、configではbundle_idに対して選べるようにする
  • ClientWrapper内でinsertTextが呼ばれたかどうかのフラグを管理する。コンストラクタでfalseを設定
  • ClientWrapperにsendDummyInsertMaybe()を用意し、insertTextが呼ばれていない場合にダミーのinsertTextを呼ぶ
  • ContextClientではsendDummyInsertMaybe()をclientにforwardする
  • TcodeMode.handle()で、.pendingの処理時に、sendDummyInsertMaybe()を呼ぶ

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions