Kenichi Handa
handa****@m17n*****
2005年 7月 28日 (木) 10:37:17 JST
In article <20050****@xem*****>, TOKUNAGA Hiroyuki <tkng****@xem*****> writes: > その結果、プリエディット編集中にキーイベントをアプリケーションに渡して嬉 > しい場面がまったく思いつかないので、rev1046でmodifierつきのキーイベント > はストップするように変更しました。 > oじゃなくてCtrl+oを押してもoが入力されたとみなされる、というのが気になる > のですが、どういう場合にそういう事が発生するのでしょうか? たった今 uim-0.4.7.1.tar.gz をインストールして試してみました が、例えばまず m17n-py を uim の default にし、 gnome-terminal で input-method に uim を選択すると、 Shift-SPC で IM がオンになった後 C-a や C-M-a を入力すると 'a' が入力された状態になります。 また、 ni と入力すると preedit text とその他の候補リストが表 示されるのですが、この時点で Shift-SPC を入力すると、 IM がオ フになるだけで preedit とかは表示されたままです。 m17n-py は Shift-SPC を受け取ると現在の preedit を commit した上で Shift-SPC を処理できなかったと返すはずです。具体的には minput_filter() が 0 を返し(つまり Shift-SPC をフィルタリン グアウトしなかった)続く minput_lookup() が commit されたテキ ストを mt に concat してから -1 を返します。minput_lookup が -1 を返したら、それはキーを処理できなかったということですので、 その時点で初めてそのキーを uim が処理するなり、さらにアプリケー ションに返すなりしないといけません。 --- 半田@AIST