1キー3文字キーボードについて

last updata : 2022/08/04

1キー3文字キーボードについて

1キー3文字とは

1つのキーに3文字コードを割り当てます。 通常文字,左シフト文字,右シフト文字の三つの状態で入力します。 今回作るキーボードの要の機能です。

キーボードからコードを受け取り各状態における文字コードに変換する作業は、 本来ホスト(PC)側のデバイスドライバーで処理すべきことです。 仮想キー コードでも左右のシフトキーが判別できるのでアプリケーションでもOKかな。

でもキーボードを作るので、従来ドライバーに合わせてエミュレーション処理をさせて頂きます。

Key Number

左手側のキーに右側に文字を追加、右手側のキーに左側に文字を追加しました。 文字の追加には色々意見があると思います。

なぜこの様にするのか、キーボードを小型化するのと右小指の割り当てを減らす事が目的です。 ついでに同時打鍵(親指シフト)も対応します。

keytop2

us104キーボードを変更して上段の1から0のキーと-キーを3文字にしています。 これによって、幅が1キー分減っています。

アルファベットのキーには文字を追加していません。 左右のシフト状態とも同じ大文字にしています。 Caps Lockとの兼ね合いでエミュレーションが複雑にならない様にしています。

同時打鍵について

左右のシフトキーを使用して3文字入力するので特に必要はありません。 但し同時打鍵ができる方が良いと思います。

同時打鍵の代表格は、親指シフトキーボードです。 基本的な考え方は、同じですが英数時でも動作する点が違います。 親指シフトキーボードは、日本語入力時のみ機能します。 今回作るキーボードは、常時機能させることができます。

なぜ常時機能するのかと言うと同時打鍵のシフトキー側は、従来のシフトキーに成り代わる為です。 英字の大文字も同時打鍵で入力できます。

Simultaneous keystrokes

同時打鍵のためスペースバーを2分割しています。 単独打鍵では、どちらも空白を入力します。

同時打鍵がいらない場合は、長いスペースバーでも可能です。

NICOLA配列ではどうなるか は、また後で。

入力方法は?

Key Number

通常打鍵(左右シフトキー入力)

通常打鍵、左シフトを押しながらの打鍵、右シフトを押しながらの打鍵の3種で文字を入力します。

同時打鍵

ピアノを弾く様に文字キーと空白キー(同時打鍵用シフトキー)を同時に押すことです。

左右の空白キーは、単独打鍵で空白を入力します。 左空白キーと右空白キーを同時に押し場合 左右何方かのシフト+空白となります。

同時打鍵は、下記の様に動作します。

  • 左空白キー
    文字キーと同時に押すと、左空白キーを離すまで左シフトキーとして機能します。
  • 右空白キー
    文字キーと同時に押すと、右空白キーを離すまで右シフトキーとして機能します。

同時打鍵の機能(空白キーをシフトキーに変更する機能)は、キーボード側で処理します。 OS側で処理すること出来ますが、同時打鍵しないキーボードと共用するためです。