blechmusikの日記

キー・カスタマイズ・ソフトウェア "DvorakJ" の覚え書きをはじめとして様々なことを書いています。

<キーを同時に押し下げるパソコン>と<キーを同時に押し上げるスピードワープロ>の違い

tmys4さんのエントリースピードワープロに必要なもの | 機械速記配列 Windows版に興味深いコメントが投稿されている。それはみみさんがスピードワープロの挙動について説明しているものだ。みみさんの発言は次の通りである。

普通のキーボードとの違いは、キーボードの配置、同時押し、キーボード押下後の認識時点(スピードワープロは同時放しの瞬間)、モデルチェンジほぼなし

403 Forbidden

普通のキーボードでスピードワープロの振る舞いを再現する場合、ミスタイプをキャンセルする方法がスピードワープロと違ってきます。同時放しというのは、つまり、スピードワープロでは、同時押ししながらであれば、ミスを修正できるということです。

403 Forbidden

スピードワープロは、<キーを同時に押し下げる挙動>ではなくて<キーを同時に押し上げる挙動>を検知することで、文字を出力しているようだ。より正確に言うなら、キーを同時に押し上げる挙動のみを検知するのであって、キーを押し下げる挙動は感知する必要が無いのかもしれない。そう考えるのは、つぎに説明するような挙動を示すだろうからである。
ミスタイプの修正可能性というみみさんの指摘に関して具体的に考えてみたい。以下ではキーを同時に押し上げるという挙動をつぎのように考える。<最後に押し上げたキー>を基準として、Tミリ秒以前に押し上げされた他のキーは、同時に入力されたものとして扱う。そうでなければ同時に入力されたものとは認識せず、別個に入力されたものとして扱う。そして、同時に打鍵する配列の例として新下駄配列を取り上げる。
みみさんがおっしゃる「同時放し」を、新下駄配列で「りん」と出力する過程と関連づけて検討してみよう。「り」「ん」を出力するには、つぎの表のようにQWERTYキー配列上のキーを打鍵することになる。ここで + 記号が表しているのは、この記号の前後のキーを同時に押し上げるということだ。ここで、「り」を出力したいのに「も」を出力するキー([K] + [F])を押し下げてしまったとしよう。そのときは [F] を押し下げたまま[K]を押し上げ、[L]を押し下げるようにする。このときに[L] + [F]を同時に押し上げれば「も」ではなくて「り」が正しく出力される。これがみみさんのおっしゃるミスタイプのキャンセルである。「ん」については[F]だけを押し下げて続けて押し上げればよい。

出力する文字 入力するキー
[L] + [F]
[F]

以上のことから分かるのは何だろうか。そう、みみさんがおっしゃる「同時放し」では、文字(列)を出力するごとに、押し下げているキーをすべて押し上げねばならないことである*1。パソコンのキーボード入力が速い人の中には、キーをすべて押し上げる前に次のキーを押し下げる人がいるだろう。そのような人にとっては、スピードワープロ型の入力方法は苦痛を覚えるかもしれない。もっとも、ミスタイプのキャンセルという魅力的な機能と、複数のキーの押し上げによって2文字以上の文字列を一度に出力できることを考えると、実際には、スピードワープロ型の入力方法はユーザーにとってそれほど苦にならないかもしれない。
上記のようなスピードワープロ型のキー入力の方法をDvorakJにすぐに導入する予定は無いが、将来的には実装を検討するかもしれない。

*1:キーの出力処理を工夫すればすべてのキーを押し上げる必要はないだろう。