見出し画像

漢直指向かな配列「のにいると」のチート機能(1)ロールオーバーシフト

「のにいると」は、漢字かな交じりの日本語文のひらがな部分の入力に特化した配列なので、ある2つのキー入力があったとき、それらのキーの単打面とシフト面の組合せのうち、最適なものを出力しようという思想で配列定義をしています。

「のにいると」の単打面とシフト面

上図は単打面とシフト面の定義表ですが、たとえば、「へき」(/ Q)と打ったときに、他の「べき」「へぎ」「べぎ」という候補も含めて、「たいていの場合は『べき』だろう」ということで、「べき」を出力する、というようなことです。

「のにいると」は KanchokuWS というエミュレータを使って実装されています。KanchokuWS には、

  • 後置書き換え

  • ロールオーバーシフト

  • カバリングシフト

といった、出力文字列を変更するような仕組みが複数用意されており、「へき」⇒「べき」の変換には「ロールオーバーシフト」が使われています。

ロールオーバー

ロールオーバーとは、前のキーを押した後、それを離す前に次のキーを押してしまう打鍵法のことです。同時に2つのキーが押されている状態になるわけですが、キー入力に慣れた人なら自然とこのような打鍵になっているかと思います。
「のにいると」は、この「ロールオーバーは自然な打鍵法である」という点に着目して、KanchokuWSが持っている「ロールオーバー打鍵をされた場合に出力文字列を別のものに変更する」(ロールオーバーシフト)という機能を利用しています。

具体的には、配列の定義ファイルに次のような設定を書いておきます。

これのミソは、通常の同時打鍵とは異なり、キーの打鍵に順序性があるということです。つまり、「へ→き」の順で打てば「べき」になるが 、「き→へ」の順にロールオーバー打鍵した場合はそのまま「きへ」になるということです。

「っ/あ」のロールオーバーシフト

もうひとつ、「っ/あ」の例を挙げておきます。「あ」は「っ(H)」のシフト面に定義されているのですが、「ある」や「あの」など「あ」で始まる単語はそれなりに多いです。これらをスムーズに入力できるようにするため、「っ」には後接しないような文字、「る」「の」「り」「ま」 などについては「っ」を「あ」に置換しています。

後置書き換え

また、想定外の書き換えが行われた場合は、それを元に戻すような定義も追加しています。たとえば「い→ら」のロールオーバーシフトは「いう」なのですが、「いらない」と入力したいときに意識して「い」「ら」と単打で打つのは面倒です。この場合は `&いうない>いらない` というような定義をしておくと「いうない」を自動的に「いらない」に置換します。

この機能を「後置書き換え」と呼んでいますが、これについてはまた別記事で紹介しようと思います。

おまけ

「のにいると」で定義されているロールオーバーシフトの一部を以下に紹介しておきます。

いいなと思ったら応援しよう!