おおよそ次のように動作します。
詳しくはソースコード参照。
キーを打つ
↓
DoTestInput()
↓
打鍵されたキーを FcitxChordに記録する
タイマー開始
タイムアウトするまで、複数の打鍵を記録する
(0.1秒の間の打鍵を「同時打鍵」とみなす)
タイムアウトしたら FcitxInstanceCommitString()により文字を入力する。
fcitxによる通常のimの流れ
(多分こんなふうになっているのだと思います。)
キーを打つ
↓
DoTestInput()
↓
変換候補がないとき
TestGetCandWords(void *arg)
変換候補を作成して表示
↓
変換候補があるとき
TestGetCandWord(void *arg, FcitxCandidateWord* candWord)