500 Can't connect to lowreal.net:443 (certificate verify failed)
まず思いつく現状の不満とかを考えて、それを盛りこんで作ろう、という方針を決めた。つまり
- 左右分割にしたいなあ
- UNIX 配列準拠がいいなあ
- Bluetooth がいいなあ
あたりが最初の方針になる。
できるだけ MacBook 標準のキーボードでも十分開発できるぐらいの状態を保ちたいので、奇抜なキー配置のものは例え身体に良くても精神に悪いので使いたくない。
市販品で近いものを探すと、Kinesis freestyle2 あたりがイメージに近い。これをキーリマッパでカスタマイズすれば実用的にはいいかもなとは思った。
あと、普通の(普通ってなんだ?)左右分割キーボードの内側のキーにも不満がある。左右分離の場合、タッチタイピングで左手に所属するキーを右手では決して打てなくなる。
しかしゆるふわタッチタイパー的には、中央付近のキーは右手でも左手でも打ちたい。つまりキーをオーバーラップさせたいが、そんなキーボードはこの世に存在していない。僕は「タッチタイピングの矯正」とか別にしたくなくて、ゆるふわでいきたい。
ErgoDox の設計の分析
まずErgoDox はキー数が少なくて UNIX 準拠にはできない。キー配列の画像を見ればわかると思うが、右側にキーが足りない。例えば HHKB なら P の右には [ と ] と DELETE があり3つのキーが続くが、ErgoDox だと1つしかキーがないので無理。ソフトウェア的になんとかするしかない。
なお ErgoDox は設計段階で左右の基板が共通となっている。両面基板をリバーシブルに使うことで両手に対応させている。これにより基板の製造コストはかなり減る (特に小ロットで外注する場合は半額にできる)。ただし、設計には左右対象であるという制約がつく。
一般的なキーボードは右手担当のキーが多く、左右非対称になっている。左右対象という制約をつけると、一般的なキーボードからかなり離れることになる。これはエルゴノミクス的には正しい気はするがよくわからない。ただ、キーが少ないのは現実的に不便だと思う。
余談だけど、右側のキーが多いことも考えると世の中のキーボードは右利き用ではないかと思った。左利きはキーボードにおいても不利を強いられていないだろうか? (僕は右利きなのでそんなこと思いもよらなかったんだけど)
仕様
そういったことを踏まえて自作するキーボードの以下のように仕様とした。
キー配列の仕様
- UNIX キーボードを2分割した形を基本にする。つまり HHKB とほぼ同じで、Ctrl キーはAの左、ESC は 1 の左など。
- 矢印キーはどうしても欲しい (HHKB への大きな不満のひとつ)
- F1〜F12キーもできれば欲しい (HHKBへの小さな不満のひとつ)
- 中央のキーを1列分オーバーラップさせる
レイアウトの詳細
HHKB からの変更点
- スペースキーが2分割に
- F1〜F6, F7〜F12 キーの新設
- 矢印キーの新設
まず「ぼくのかんがえたさいきょうのキーボードはいれつ」を Inkscape で書いてレイアウトを検証した。軽く書くというよりは CAD 的にちゃんと書いた。のちのち Inkscape からエクスポートして KiCAD で読みたかったため。
備考
- 僕は右手のスペースキーをほぼ全く使わないので、実質飾りである。
- Caps Lock キー? そんなものはない。写真にある Caps Lock は Shift キー(キーが足りなかったので)
- 矢印キーを置くところがなくて右手親指付近に置いている (が、これはちょっと邪魔だった。あと1キー分左にずれていたほうがいい…)
技術仕様
同時に、いくつかこうしたいという仕様も決めた
- NiMH 単3バッテリー2本で半年ぐらい持つ (普通の製品ぐらい持つこと)
- 左右ボード間の接続は有線
- USB に逃げたくなったとき逃げられるようにしておく
- 制御用のボードは分離して設計すること
一方、躯体については殆ど考えてなくて、いきあたりばったりで基板を作ってから3層構造にした。製作編で詳しく書く。
なお省電力であればあるほどいいけど、そこそこ電波が出るデバイスなので、BLE が生きるぐらいの省電力にはならないだろうという気はしてた。
左右のキーボード間も無線にしたかったが、セキュアにしようと思うと BLE Nano 2台でそれぞれHIDキーボードにしてしまうのが楽ということになってしまう。今回はそういうことはしたくなかったので、ここは有線で妥協した。
ただ、左右どちらも回路構成が完全に一緒なので、単に制御用の基板を2つ用意して取り付ければそれぞれHIDキーボードとして使うことができるようにはした。
つづく → 500 Can't connect to lowreal.net:443 (certificate verify failed)