Keyer - 手に収まるミニキーボード制作記
(github.com/mafik)- KEYERは片手で使うコード式キーボードで、最小限の指の動きで、もう一方の手を自由に使える
- わずか10個のキーで215以上のコード組み合わせと多様なアルペジオ入力をサポートし、高い入力拡張性を持つ
- 最適化されたレイアウトと低遅延ファームウェアを提供し、望む手の形に合わせて自作できるため、極限の人間工学設計を実現できる
- 一般的なメカニカルキーボードと比べて安価で、特別な部品も不要なため、簡単な工具と材料で製作できる
- オープンソースのファームウェアに加えて、レイアウト自動化ツールやさまざまな参考資料も含まれており、カスタムキーボードに関心のある開発者に有益
KEYER オープンソースプロジェクト紹介
KEYERは片手で操作するコード式キーボード (Chorded Keyboard) の制作を支援するオープンソースのファームウェアとツールセット。このプロジェクト最大の利点は、既存の高価な商用製品や複雑な3Dプリント、カスタムPCBがなくても、入手しやすい部品と簡単な工具だけで誰でも人間工学的なキーボードを自作できる点にある。
主な特徴
- 最小限の指の動き: すべてのキーがホームポジション近くにあり、指をほとんど動かさずに高速入力できる
- もう一方の手を自由に使える: 片手でタイピングしながら、もう一方の手でマウスを使ったり飲み物を持ったりできる
- 常に手の近くに配置: Keyerを手袋に取り付けておけば、手を少し離しても両手を自由に使える
- 膨大なコード数に対応: 10個のキー(親指3、人差し指2、中指2、薬指2、小指1)の組み合わせで215個のコードを実装でき、コード保持時には2倍に拡張することも可能
- アルペジオ (rolling motion) の活用: 2方向アルペジオで2×78個を実行でき、入力拡張性に優れる
- マルチレイヤー: ベースレイヤーだけで586個のショートカットをサポートし、各レイヤーごとに多様な組み合わせが可能
- ローリングコード: 2つのコードに共通する指の位置がある場合、変化する指だけを動かせばよく、効率的
- レイアウト最適化ツール: バンドルされたオプティマイザにより、入力テキストまたはユーザー定義の手の動きコスト関数に基づくレイアウトの自動探索をサポート
- 人間工学的レイアウト: 指の神経運動経路の特性上、押しにくい組み合わせを避け、使いやすさを最大化
- 低遅延実装: ハードウェア割り込みベースのファームウェアにソフトウェアデバウンシングも加え、応答性と正確性に優れる
- 長時間バッテリー: 大容量18650バッテリー、低クロックCPU、Bluetooth省電力実装、ハードウェア電源スイッチにより長時間使用可能
製作の手軽さ
特別な3DプリントやカスタムPCBは不要。Amazonでの部品購入 + ホットグルーガン + はんだごてだけで製作できる。
- 手に直接合わせてシリコン粘土で成形し、極限の人間工学設計を実現
- 部品費は約$34と非常に安価で、メカニカルスイッチを10個取り付けるだけ
さまざまな参考資料と紹介リンク
- ソフトウェア方式 (Penti Chorded Keyboard)、ESP32用BLEキーボードライブラリ、3Dプリント用無料設計(例: Typeware)、既存商用製品(Twiddler、Decatext など)の情報を含む
- ブログおよびタイピング実演動画へのリンクを提供
製作ガイド要約
材料リスト
- LILYGO T-Energy S3 開発ボード ($9.70)
- Samsung INR18650-35E 3500mAh バッテリー (~$2.95)
- FIMO Professional 粘土またはエフェクト粘土 ($2.75)
- メカニカルスイッチ 10個 (Gateron G Pro 3.0 推奨, $10)
- 少量の太い絶縁銅線、そのほか消耗品および工具(ピンセット、ナイフ、手袋、ホットグルーガン、はんだごて など)
Skeleton (骨組み) の製作
- 銅線でGNDループを作り、ボードのGNDポートにはんだ付けする
- 各スイッチがGNDループに接触するよう固定(最初はホットグルー、その後はんだ付け)
- スイッチからボードのIOポートへ個別に接続(ポート/スイッチのマッピングを記録する必要あり)
- スイッチ配列とキーキャップ位置を調整し、構造が十分に頑丈になったことを確認
粘土で成形
- スイッチ下部などを包み込むように粘土を何層も追加
- 粘土は十分にこねてダマにならないようにし、継ぎ目はこすって平らにならす
- 完成後、オーブンで110度Cで30分以上硬化させ、耐久性を確保
ファームウェアのアップロード
- PlatformIO Core をインストールし、T-Energy S3 ボードをUSBで接続
- GitHub リポジトリをクローンし、ビルドしてファームウェアをアップロード
- Bluetooth デバイス名を確認(プロジェクト内で自分の名前などに変更可能)
- シリアル出力などのデバッグをサポート
レイアウト最適化ツール
layout_generator/corpusに入力テキストを追加し、planner.pyで最適レイアウトを自動生成keyer_simulator.cppで指ごとの移動コストなどをカスタマイズ可能
その他のアイデア
- 6軸加速度センサーを取り付ければエアマウスをサポート可能
- キー数削減などの派生案も提案されている
リポジトリ構成
layout_generator/: Python ベースのコード/レイアウト最適化スクリプトsrc/: ESP32 用ファームウェアソース- その他: SDK 設定、テキスト評価ファイル、シミュレータ など
結論と活用性
KEYERは手にぴったり合う超小型コード式キーボードを自作したい開発者、ハッカー、メイカー向けの低コスト・DIY・高拡張性ソリューション。 ハードウェア/ソフトウェアの両方がオープンソースで提供されており、ユーザー向けのカスタムレイアウト、人間工学設計、低消費電力/低遅延ファームウェアなど差別化された利点を備える。キーボードハックや入力デバイスのカスタマイズに関心があれば、非常に有用なリファレンスになる。
1件のコメント
Hacker Newsの意見
人間工学的な3x10キーだけのキーボードを使ってみた経験がある(正確には分離型なので2x3x5配列)。キー入力の方法や特殊文字、数字の入力方法を新しく覚えるのに時間をかけたくなかった。特に練習時間の大半が業務時間に当たるため、初期の生産性低下を受け入れたくなかった。結局ZSA Moonlanderを選んだが、キーが多すぎると感じるマニアには負担かもしれないものの、個人的には非常に満足している。こういうハンドヘルドのハッカー向けキーボードは、子どものころに夢見たクールなサイバーな未来を思い出させるので、いつも愛着が湧く。本当に素晴らしいプロジェクトだと思う。
前景に手がタイピングしている様子、背景に画面を映して、入力の難しさや速度を見せる短い動画を作ってみてはどうかという提案。
動画を見ると、実際の目的がさらに気になる。これは文字や数字を入力するキーボードなのか、それとも音楽を作るキーボードなのか混乱する。本文でコードやアルペジオの話が出てきたので、音楽プログラミングの道具かと思った。本来の目的が何なのか少しわかりにくい。
動画を1本ぜひお願いしたい。
素晴らしい作品だと感嘆しつつ、この種の製品は keyer として知られている点を紹介している。参考リンクは Wikipedia Keyer: Computer interface keyers。1980年代初頭、若くて純真だったころに父の友人がWriteHanderを持っていて、こうした機器に愛着を持つようになったという。WriteHanderの情報は WriteHander参考リンク にある。
ハッカーらしさの極致にある装置だと思う。COTS(既製品)部品の使用と、粘土で手にぴったり合うように作った部分が特に印象的。効率的な製作方法だ。
とてもクールなアイデアだと思うし、こういう装置をいつか自分で作りたいとよく想像してきた。ときどきTermuxでスマートフォンから簡単なシステム管理をするとき、いつも思い浮かぶアイデアでもある。minichordというオープンソースのシンセサイザー/楽器も連想した。必要なハードウェアやツールがあふれている時代だからこそ、こうした創造的な装置が生まれるのは素晴らしいと思う。良いプロジェクトだ。
ガラスをトントン叩くのが嫌いで、ミスばかりしてしまうタイプなので、いつも代替入力方法を考えている。本当に素晴らしいプロジェクトとまとめ記事だと思う。ただ、実際に動かしている動画と、できれば製作過程も見たいので、ぜひ動画も公開してほしい。
文句なしに素晴らしい作品だと思う。Oculusくらい追加すれば、本当に Johnny Mnemonic みたいになれそうだ。参考動画は Johnny Mnemonic YouTube動画。
本当に素晴らしいと思う。Azeronが似た製品を出しているが、携帯用ではない(Azeron側にとっても参考になるかもしれない)。そしてキーの数がずっと多い。キーが多いぶんコード入力もしやすく、フルキーボードの代替も可能だ。片腕/片手しか使えない人(特に退役軍人など)にとても役立つかもしれない。60日返金ポリシーも印象的。本社はラトビアにあり、一部の部品は3Dプリンターで作られている。Webサイトは Azeron Webサイト。自分もCyroというベータ版の縦型マウスを購入して使っている。このラインアップでは珍しいマウスで、ボタンが多い。この分野では一番良いマウスだと思うが、無線だったらなお良かった。USB2BTモジュールで無線化改造を試したが、いくつか問題があった。使用感は状況によって異なるかもしれない。
コード入力方式の製品UXに関心があるなら、ArtseyとArdux(Ardux公式サイト)を参考にしてみる価値がある。Artseyは片手専用の2x4コード式キーボードで、Arduxはその改善・拡張版。Colemakレイアウトから多くの点を参照している。個人的には2x4のシンプルさが気に入っている。OPの装置も素晴らしいが、親指の動作に関する人間工学的な設計は少し惜しい。
かわいいと思う。私はBluehand(Bluehand使用記)を使っているが、置かずに使えたらもっと良いのにといつも思う。