入力モードを整理する(1)

AquaSKK の入力モードを整理してみたいと思い立ちました。なんとなく、整理できそうな予感が芽生えてきたのです ;-)


まず最初に、大きく二つの動作モードに分けてみます。一つは確定モードで、もう一つは変換モードです。つまり「▽」が表示されているかどうかということですね。ひらかなモードやカタカナモードが確定モードの一種です。で、漢字変換モードと ASCII 変換モードが変換モード。ふむ。これは簡単ですね。


これらの動作モードは通常の入力はもちろん、単語登録でも利用されます。おっとっと。ここで「通常の入力」と「単語登録」が出てきました。これはモードというよりは、状況といったほうがいい気がしますね。そこで便宜的に「入力コンテキスト」と表現してみます。


ここまでをまとめると、以下のようになります。

入力モード 入力コンテキスト
確定モード 通常
変換モード 通常
確定モード 単語登録
変換モード 単語登録

ところで SKK 一族は、再帰的な単語登録が特徴です。ということは、「通常」を単語登録の初期状態と見なすことができれば、入力コンテキストが単語登録に集約できることになります。これはかなりの単純化です。考える価値はおおいにアリです。では、通常と単語登録の違いはどこにあるのでしょうか。


もちろんそれは、登録すべき単語があるかどうか、ですね。登録すべき単語があるならプロンプトが表示されます。なければ、プロンプトも表示されません。つまり「通常」というのは、登録すべき単語がゼロで単語登録をしている状態と言うこともできます。ちょっと苦しいかなぁ。


でもこうすると、単語登録する時の引数でコンテキストを表現できそうです。引数がゼロなら通常、引数があるなら単語登録。ほら、うまくいきそうな感じがしませんか? 続きはまた今度。