窓使いの憂鬱で「シフト専用文字キー同時打鍵システム」
『窓使いの憂鬱』を使った同時打鍵配列用の設定ファイルとしては、すでに下駄配列用のものを作っていますが、今回はそれには無い工夫を加えました。
下駄配列のファイルを作った当時、「ロールオーバーで入力できないことが問題だ」という認識がほとんど無かったので、とにかく同時に押し下げられている時間帯があれば同時打鍵、という処理をしていました。だから、シフトに関係ある部分はもちろん、同時打鍵シフトに全然関係のない部分でもロールオーバーすると入力できないという設定になっていました。
今回の設定ファイルでは、シフトに関係ない部分はロールオーバーしても入力できるようにしてあります。
例えば、[E]を押し下げて、[E]を離さないまま[R]を押し下げた場合。[R]を押し下げた段階で[E]は単打であったとみなして「し」を入力します。
さらに、続けて[R]を押し下げたまま[I]を押したら、[R]は単打であったとみなして「て」を入力します。もし押したのが[I]ではなく[K](シフト)なら、[R]と[K]の同時打鍵とみなして「ふ」を入力します。
これで、単打面はどんなにロールオーバーしても正しく入力できます。
やっていることは……
1.ロックキーの組み合わせで押し下げたキーを記憶。
2.他のキーを何も押さずにそのキーを離したら、そのキーを入力してロックキーをすべて外す。
3.他のキーを押したら、
3-a.いずれもシフトキーでなければ、1つ目のキーを入力して、ロックキーは2つ目のキーに掛け直す。
3-b.少なくともいずれかがシフトキーなら、同時打鍵を入力して、ロックキーをすべて外す。
……という感じです。詳しくは設定ファイルを見て下さい。
さらに、文字キーだけでなく、文字キーとロールオーバーしやすい機能キーについても設定しました([スペース][変換][無変換][Tab][Enter][BackSpace]の6キー)。文字キーを離さないうちに機能キーを押した場合、文字を入力してから機能キーを押すという処理をします。
その代わり、設定ファイルがかなりの行数になってしまいました。
下駄配列の設定ファイルのときは、同時打鍵の設定は文字が割り当てられている部分だけで良かったのですが、今回はすべての文字キーの組み合わせについて設定する必要があります。しかも、一応配列を変更しても使えるようにすべての文字キーについて設定を書きました。結果、3016行もの行数になってしまいました。
設定ファイル内の「◆ロックキーの状態」で、“&HelpMessage(Lock, "000000")”というような記述がコメントアウトされていますが、これは設定ファイル作成時にロックキーの状態を確認するために使ったものです。削除しても問題ありませんが、一応コメントアウトして残しておきました。
【月配列2-263式の同時打鍵化:『窓使いの憂鬱』用設定ファイル】
●ダウンロード:tuki2-263_douji.mayu
※2008/03/20
1422行目、$Dを$Clearに訂正。
少し試してみた感じではきちんと意図通りに入力できますが、高速打鍵に耐えうるかどうかはやってみないと分かりません……。
『窓使いの憂鬱』で同時打鍵配列を実装する場合、「タイマーがない」という問題点があります。
しかし、この「シフト専用文字キー同時打鍵システム」なら、そもそも単打で押すつもりのときにシフトが掛かるという事態はあり得えないので、タイマーが必要な事態は下駄配列の場合よりもかなり少なくなります。
したがって、「シフト専用文字キー同時打鍵システム」は下駄配列よりも『窓使いの憂鬱』で実装するのに向いていると言えると思います。

