Jun Mukai
mukai****@jmuk*****
2005年 11月 9日 (水) 03:48:12 JST
向井です。 > 念のため、改行とascii-mode -> かなモードに関して > 向井さんの期待するキーシーケンスと動作を教えて頂けますか。 了解しました。 ascii-mode では、入力されたキーイベントが確定キーかどうかのチェックを し、その場合にはひらがなモードに遷移します。そうでなければ普通に文字が 入力されます。この処理は SKKCore::process_ascii で行われています。 なので、 1. Return は確定キーではないので、かなモードへの遷移処理を行わない(通 常の文字入力と同等の扱い) 2. 文字は isprint かどうかによって処理を分けているが、 Return は isprint ではないので、他のイベントキーの処理に進む 3. それらのイベントキーで Return にマッチするものはないので最終的には false が返される 4. false が返されるので、 scim 側はこのキーイベントをそのままアプリケー ションに渡す →改行が出力される という流れになるはずです。 したがって起こりうる問題は、 ・Return が確定キーと混同されている ・他のキーイベントにひっかかって処理が行われている のどちらかであろうと思います。 ちなみに、変換時や学習時の処理は process_key_event で行われるので、 ascii-mode かどうかは関係ありません。どちらも、「確定時に〜」の設定の オンオフと、入力されたキーが Return かどうかに従って、入力を無視するか どうか決定しています。 # 書いていて今、気付いたんですが、プリエディット中に Return の処理をし # ていないので、挙動がかなりおかしいですね