[Scim-imengine-dev 760] Re: C-j in ascii-mode

Back to archive index

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 の処理をし
# ていないので、挙動がかなりおかしいですね



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