アルファベットと違って日本語入力の際は、キーを打った時点で文字が確定しないので、一旦 preedit というバッファに格納する必要がある。
どうやら Gtk アプリは GtkIMContext 経由で preedit_changed シグナルを受け取り、gtk_im_context_get_preedit_string を呼んでそのバッファリング中の文字(列)および、その文字装飾(下線を引いたり)をとってきて、表示するらしい。
ということを踏まえて hildon-input-method 用の日本語入力用のプラグインを実装中に、どうやら hildon-input-method-framework にある hildon-im-context を少し変更しなければいけなさそう、というところまでたどり着いた。前回プラグイン書いたときよりかなり前進した。けどまだ全然入り口付近なんだろうけど...
あくまでダウンロードしたソースが古くなければの話だが(って毎度のことながらそこ確認するのが一番大事じゃないか?>自分...)、hildon-im-context は preedit_changed シグナルを発行していない。それと commit (文字が確定したときに送られるシグナル)が、なんかやたら無駄に多い。
ということで、preedit_changed 対応にすべく hildon-im-context を少し変更して、サンプルアプリ上で動作確認中。なんとか preedit_changed シグナルを受け取り、gtk_im_context_get_preedit_string でそのバッファリング中の文字を受け取り、画面上に表示する、というところまできた。キャプチャ画像は、特にひらがな変換とかしてるわけではないので、「aaaa...」 ばっかりだし、文字装飾情報がいい加減なので見た目普通だけど。
もう1つのスクリーンキャプチャは ubuntu 上で実行したもので、こちらは SCIM で入力途中のもので、「ああ」 の下に下線が出てる。maemo の方もこういう風になる予定。
で、ここまで書いてて何の備忘録にもなってないような気がするが、まぁいいか。さて続きやろっと。
OpenID を使ってログインすることができます。
poker, backgammon, tramadol, casino, insurance, loans