ある日、ふと思った。ピアノの鍵盤を弾く時って、指10本を使って同時に何個もの鍵盤を押してるなぁと。
でも、パソコンのキーボードって基本的に押すキーは1つだけ(たまにSHIFTとかCTRLとかALTは同時に押すけど)
そこで、両手の親指以外の指8本を使って、bit0〜bit7のON/OFFを同時に押してASCIIコードを入力すれば、腕を動かさずに文字入力ができて便利なのではないかと思った。
(極端な話、8個のキーといくつかの修飾キーで済むので超省スペースキーボードが作れる)
そこで、この入力方式が有用なのかテストプログラムを作成して検証してみた。
作成したプログラムは、以下の指にそれぞれビットを割り当てた。
右の人差し指:bit0
右の中指 :bit1
右の薬指 :bit2
右の小指 :bit3
左の人差し指:bit4
左の中指 :bit5
左の薬指 :bit6
左の小指 :bit7
キーを押したら1、離したら0としてASCIIコードを入力する。
すべてのキーを離したら1文字確定とする。
(たとえば数字の「1」(0x31)の場合は左の人差し指、中指、右の人差し指の3つのキーを押してからすべて離す)
イメージ的には、ピアノの鍵盤でド・ミ・ソとか押して和音を出す感じです。
ブラインドタッチの際のホームポジションに割り当てたので、両手を置けば腕を動かすことなくキーの押し離しだけで全ての文字が入力できます。
で、検証の結果ですが…
Windows XPで試したら、5つのキーの同時押しまでしかWM_KEYDOWNが来ない…
最高8個のキーを一緒に押すのは意外と大変(指の筋肉がプルプルする)…
というわけで、更なる改良を加えるべく後編へと続く(?)