新しいキーボード
ことの始め
2020年の12月”TALP KEYBOARD” をネット上で見つけキーボードを作れるなと始めました。
最初は、変換/無変換が空白(スペース)キーの下に付く親指シフトキーボードを考えていました。 が数台試作して60%と同じサイズのNICOLA配列のキーボードにすることにしました。 ただし、ローマ字入力を蔑ろにしないようにします。
60%キーボードとは…
60%キーボードとは、フルキーボードの約60% ファンクションキーやテンキー、矢印キーを除いたキーボードです。 キー配列は、決まっていないのである程度自由にできます。
今回は、親指シフトを使う者としてキー配列をしています。 どういう事かというと、英数入力時にも左シフト/右シフトで違う文字を入力します。 これにより使用するキーの数を減らしています。
2022/07/13現在一応動作している60%キーボードで動作チェックを兼ねて親指シフト入力にて記述しています。
上手く撮れてはいませんが、キーボードの比較です。 上の親指シフトキーボードは、今まで使っていたキーボードです。
キー配列
US104/6キーボード配列から下記の通りに配列を変更しました。
このキー配列と機能については後で詳しい説明を考えています。 簡単に下記に書いときます。
1キー3文字について
記号キーを5個削除して、他のキーに割り当てています。 削除した記号は、 [1]~[0]と[-]キーのシフト位置に再配置しています。
一つのキーに三文字を配置することになります。 NICOLAキーボードを使う方なら入力方法はわかると思いますが、左右のシフトキーで異なる記号を表示します。
本来なら、キーボード用のデバイスドライバーを書き換えないといけないのですが、 キーボードに載っているMPUの処理に十分な余裕があるのでエミュレーションしちゃいます。
同時打鍵について
スペースバーが2つに分割して同時打鍵(親指シフト)用にしていますが、絶対必要とする訳ではありません。 同時打鍵を行うと、左右のシフトと同じキーコードを出し「シフトキー + 文字キー」状態になります。
Fnキーについて
言わずと知れたファンクションキーです。 このキーと同時に押すとキーコードが変わります。 見た目別のキーに代わります。
キー番号図 と 日本語キーボード1
キー番号は、キーの位置に数字を振ったものです。 1~67まで割り振っています。 が[Enter]キーがキーふたつ分使用するのでキー数は、最大66個です。
ファームウェアは、キーマトリックス情報からこのキー番号に変換します。 この段階で、キーの押し順(ロールオーバー)を記憶します。 Nロールオーバーしてもよかったのですが、今回は12回にしています。 (USBのbootでは、6ロールオーバーなので。) その後各種追加処理をして、USBのUsage IDに変換します。
ANSI配列相当日本語キーボード
ローマ字入力の日本語キーボードです。 色々検討した結果、Fnキーの左側にIME ON(□あ)キーを配置することにしました。 また英数キーは、単独打鍵でIME OFF(□A) : シフト+打鍵でCaps Lockにしています。
IME ON/OFFキーは、Microsoftが新しく定義したキーでWindows10/11で使用可能です。 参照:日本語キーボード レイアウトの ImeOn と ImeOff キー
今回組み立てた60%キーボードはこの配列になります。 ついでに、ローマ字以外にNICOLA配列を実装し親指シフト入力を実現しています。 構造上NICOLA規格に合致しませんが、問題なく日本語が打てます。
日本語キーボード2
JIS配列相当日本語キーボード
JIS配列のキーボードですが、かな表示がありません。キー数が足り居なくて…。 ただし廃止された新JIS配列ならOKです。
NICOLA配列相当日本語キーボード
NICOLA配列のキーボードです。 改行(Enter)キーの左に後退(BackSpace)キーを配置しています。 親指シフトキーボードの配列に近いです。
今後この配列をと思っていますが、ANSI配列との混合になりそうです。
キー配置が決まったら
回路設計と基板ですが、その前にキーキャップを探すことになりました。 実情は、ANSI(US)配列キーキャップ1択ですね。 逆Lのエンターキーは、あるので表示を気にしない、または混在で使うとか手はあります。
1.25UのDeleteキーは、まあ無い様なのでブランクキーです。 2.75Uのスペースキーも、別購入しています。
ここまで
実用になるまで約1年半 基板発注する時は、円安の130円(今はもっと安く135円…高くなってくれ)試作より高く付いた。 まあいろいろ有ったけど良かったかな。
次は、回路ですね。