展示でできること
今日の展示では、以下の体験ができます。
カメラで手を撮影
会場のカメラとブラウザで動く計測アプリが指の長さを自動で読み取ります。専用機器は不要で、一般的なカメラがあれば動きます。
あなた専用のキーボードモデルを確認
計測値から生成された3Dモデルを見せてもらえます。
v4プロトタイプを実際に触る
現在動作する実機を体感できます。
PAG3Bの設計思想
あなたが今使っているエルゴノミクスキーボードのパラメータは、誰の手に最適化されていますか?
KinesisやCorneは設計者が決めた固定パラメータです。Dactylはすべてのパラメータを自分で調整できますが、自分に最適な値は試行錯誤で探す必要があります。
PAG3Bは以下の設計思想を重視しています。
運動記憶の最小化
不要な関節運動を排除することで習得コストと腱鞘炎リスクを同時に下げる
選択コストの最小化
最適パラメータを「探す」のではなく、手の測定から「決定」する
既存の選択肢との比較
既存のエルゴノミクス系キーボードとの位置づけを整理します。
| 平面 Row stagger | 平面 Column stagger | Dactyl / Kinesis等 | PAG3B | |
|---|---|---|---|---|
| 指の動きに合わせた縦方向の配置 | ✗ | ✓ | ✓ | ✓ |
| 指の長さに合わせたキー位置 | ✗ | 固定パラメータ | 固定パラメータ | 個人計測値 |
| 3D配置 | ✗ | ✗ | ✓ | ✓ |
| キーピッチの個人最適化 | ✗ | ✗ | ✗ | ✓ |
| 腱鞘炎防止設計(手根関節角度考慮) | ✗ | ✗ | △ | ✓ |
| 自動生成(誰でも作れる) | — | — | ✗ | ✓ |
PAG3Bが既存のエルゴノミクスキーボードと根本的に異なる点
KinesisやCorneは固定パラメータ、Dactylはカスタマイズ可能ですが最適値を自力で探す必要があります。PAG3Bは手の測定から最適パラメータを自動決定するため、パラメータ探索のコスト自体をゼロにします。
解剖学的設計の核心
本記述は独学・個人的考察に基づいており、医学的正確性を保証しません。
キートップの面をMP関節の円運動の法線方向に平行に設定する
キーを「押す」動作はMP関節(中手指節関節、いわゆる指の付け根)の屈曲を主軸とします。指先はMP関節の円運動の接線方向に動くため、最小限の力で押下するにはキートップの面をMP関節からの法線(半径)方向と平行に設定する必要があります。これにより押下方向が指先の動きと一致します。
なぜ立体化が必要か
各スイッチをMP関節の法線方向に向けること自体は平面配置でも可能です。しかし、スイッチごとに傾きが異なると打鍵面に段差が生じます。「最適な角度」と「段差のない打鍵面」を両立するために、スイッチを3次元空間に配置する必要があります。
高さ・前後傾・左右傾の4軸を個人の手の形に合わせて調整します。
縦ピッチ縮小の意味
一般的なキーピッチでは、数字行(最上段)を打つ際に手首・肘・肩まで動かす必要があります。縦ピッチを詰めることで同じ操作が指関節・手首関節の屈曲伸展のみで完結します。動員する関節が減ることで習得コストが下がり、長時間使用での疲労も軽減します。
腱鞘炎防止
手根関節を伸展した状態(手首を反らせた状態)でMP・PIP・DIP関節を繰り返し動かすと腱鞘炎の原因になります。PAG3Bは手根関節が自然な軽屈曲状態でキーを操作できる後傾角(Backward-tilting)を採用します。
v4 技術仕様
本展示の世代。ジグザグ配置・PCBレス・初動作モデル完成。
コントローラー
Raspberry Pi Pico (W) + RMK v0.8(Vial対応)
手計測アプリ
React 19 + TypeScript + MediaPipe Tasks Vision + OpenCV.js
CAD生成
Deno + TypeScript + Onshape CAD API
スイッチ配置
ジグザグ方式
- 奇数行(1・3行目):低い位置
- 偶数行(2・4行目):高い位置
- 高低差は固定定数(現在9mm)
- キーキャップの足の長さで打鍵面を水平に揃える
親指キー
巨大なスペースバーを廃止し、親指の自然な可動範囲に合わせた複数の親指キーを配置
配線方式
PCBレス(より線にスイッチとダイオードを直接刺す)
- PCB・フレキ製造コストがゼロ
- 基板製造の待ち時間なしに即プロトタイプできる
- 筐体の3D形状に対して自由度の高い配線が可能
参考実装: AndyChiu/hotswap_pcb_generator 、 50an6xy06r6n/hotswap_pcb_generator
スタック
コントローラー : Raspberry Pi Pico (W) + RMK v0.8(Vial対応)
手計測アプリ : React 19 + TypeScript + MediaPipe Tasks Vision + OpenCV.js
CAD生成 : Deno + TypeScript + Onshape CAD API 生成フロー
キー配置の座標系
- 原点中指中手骨の近位端
- 自由度各キーは x / y / z / yaw / roll / pitch の6自由度で配置
- x・roll同一行で共通値
- pitchMP関節の円運動の法線から算出
これまでの軌跡
v1から現在のv4まで
初プロトタイプ。手配線・5サイズのモックを展示。設計上の方向性を確立
スイッチ自作路線を試みるも精度の限界で断念
マイクロスイッチ採用・PCB自動生成・手計測→モデル生成フロー確立。天下一KB会・卒業展示会に出展
ジグザグ配置・PCBレス・初動作モデル完成
よくある質問
Q 測定アプリはどこで使えますか?
現在は展示ブースのみで体験できます。測定アプリ自体は10円玉とスマートフォンのカメラがあれば動作するため、専用の機器は必要ありません。ただし現時点では生成されるモデルのクオリティがまだ実用に達していないため、一般公開はしていません。モデルの完成度が上がり次第、Webアプリとして公開する予定です。
Q 自分の手でも体験できますか?
手の測定と、そこから生成される3Dモデルの確認は体験できます。実機の試打もできますが、展示している実機は開発者の手のサイズで制作したものです。あなたの計測値から作られた実機を試打できるわけではありません。
Q QWERTY以外の論理配列と組み合わせられますか?
ファームウェアにRMKを使用しており、論理配列は自由に設定できます。物理配列はColumn stagger系(縦列が揃っている)なので、多くの配列と相性が良いです。なお、このプロジェクトの考えでは論理配列にこだわる前にまず物理配列を自分の手に合わせることが先決だと考えています。PAG3Bの物理配列がある程度完成した暁には、論理配列の設計にも取り組む予定です。
Q どんな手のサイズに対応していますか?
スイッチの物理的なサイズが最小ピッチの下限となるため、すべてのサイズに対応できるわけではありません。目標としてAIST人体寸法データベースに記録された日本人の最小値まで対応することを目指しています。