blechmusikの日記

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

順に打鍵する配列で、Back Space を出力するとき、順に打鍵している最中なら、直前のキー入力それだけを取り除くようにした

長い見出しになってしまった。要は、2011/01/06 18:21に投稿されたくろゆみさんのコメントどおりの機能を実装した、ということだ。
例を出そう。JLOD配列で「そう」を出力しようとする。Dvorak 配列のキーで説明すると、「そう」を出力するには、S ,を打鍵する。ここで、S ,ではなく、S Hと打鍵してしまったらどうだろうか。S H , で「しょう」を出力するから、S Hと打鍵すると、つぎのキー入力を待機することになる。そこで、ああ打ち間違えたのか、と気づいて Back Space を打鍵すると、打鍵したHの情報を取り除く。このとき、直前の文字を削除しない。以下に表を掲載しよう。

S ,

打鍵したキー 蓄積したキーストローク 出力した文字やキー 備考
S S
, S , sou

S H ,

打鍵したキー 蓄積したキーストローク 出力した文字やキー 備考
S S
H S H
, S H , syou

S H Back Space ,

打鍵したキー 蓄積したキーストローク 出力した文字やキー 備考
S S
H S H
Back Space S ここでは Back Space を出力しない
, S , sou

このように動作するようにした。