[Anthy-dev 407] Re: uim + Sodipodi

Back to archive index

TOKUNAGA Hiroyuki tkng****@xem*****
2004年 1月 12日 (月) 02:11:41 JST


On Mon, 12 Jan 2004 00:58:39 +0900 (JST)
Kouhei Sutou <kou****@cozmi*****> wrote:

> Sodipodi的には(1)->(3)の順序で実行されることを想定しているよ
> うですが,uimと一緒に使うことにより(2)->(3)->(1)という順序で
> 実行されてしまうようです.
> # 試しにuim_key_snoopでuim_press_keyが実行される前に
> #   p g_signal_emit_by_name(grab_widget, "key_press_event", key)
> # としてやると(1)->(2)->(3)と実行されてうまくいきました.
> 
> これはSodipodiの作り方が悪いのですか?

 key_snooperを使うuimのやりかたははっきりいって行儀がよくないです。(そ
もそも、snooperはInput Methodのために用意されているものではないと、メン
テナのOwen Taylorが書いてます。)

 しかし、それとは別に、SodipodiのGDK_KEY_PRESSが発生した時点でテキスト
の初期化をするというやりかたはよくありません。そのやりかたは音声入力や文
字コード表などからの入力を考慮していないからです。

 というわけで、preedit_changedシグナルが発生した場合にテキストが初期化
されていなければ初期化するというチェックを追加するか、最初からテキストを
初期化しておくかといった形で、Sodipodi側になんらかの修正が必要だとおもい
ます。uim側としては現在のアプリケーションがsodipodiであるかどうかを認識
してsnooperの使用をやめるという事も可能ではありますが、それよりは
Sodipodi側をなんとかする方が簡単な気がします。


-- 
徳永拓之



Anthy-dev メーリングリストの案内
Back to archive index