2005年9月22日の日記の4番目の記事へのコメント

anthy.scm

昨日の続きというか,地味にanthy.scmとか見たりしてるんですが,最初define-recordの意味が全然わからずしばらく引っかかりましたorz.で,局所的に見た結果「その直後のキー入力が1個分読み飛ばされちゃう」というのは実は間違いで,正しくは「その直後のキー入力を処理した際に,プリエディットが更新されない」ということが判明.

何か,コントロールキャラクタがuim_release_keyの方に与えられると,anthy-release-key-handler内でanthy-commit-rawが呼ばれ,その結果 anthy-context-commit-raw が #tになって,次の別のキー入力によって anthy-press-key-handler が呼ばれたときにキー処理後に呼ばれるanthy-update-preeditの中でcontext-update-preedit が飛ばされてしまうため,こうなるっぽいです.・・・というのは,ソースを追えば誰でもわかる話で,なんでこうなってんのかとか,「anthy-context-commit-raw」が何を表してんのかとかマジさっぱりです(;´Д`).昨日あてずっぽうで書いた対処は,pressの方でcontext-update-preedit が飛ばされた後,もう1回releaseの方で anthy-update-preedit を呼ぶことでフォローしてるに過ぎないので,たまたまうまく当たったって感じですね.

うーん,プリエディットが存在している間はコントロールキャラクタ(1〜31と127)は捨てていいんじゃないかと思うんですが,素通ししてうれしいブリッジってあんのかなぁ.

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2005年9月22日の日記の4番目の記事へのコメント

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2005年9月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ