キー番号はPHYの幾何からもELCの配線からも導出できない決めごとなので、IDXが正本を持つ。 公開した基板のキー番号は他人のキーマップが依存する公開インターフェースであり、 出力のたびに生成し直さず固定する。 「最も重要な抽象化層」「最も欠けている層」という位置づけは誤りだったので落とした。 QMKのLAYOUTマクロの引数順、ZMKのmatrix transformのmap、KMKのcoord_mappingとして 既に存在していて、形式化されていないだけである。 あわせて2点。MAPはキー番号ではなくPHYのキーIDを参照する(IDXへの挿入でMAPがずれないため)。 IDXの保存形式は order: string[] とし、ELCのLEDChain.orderと同じく並びの位置を番号とする。 phase1-json-schema.md の P-1 を解消。 Journal: journal/2026-09-21-idx-necessity.md Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
103 lines
3.8 KiB
Markdown
103 lines
3.8 KiB
Markdown
# 自作キーボード制作ワークフロー分析
|
||
|
||
既存の制作フローの各工程が、どのレイヤーに当たるかを見る文書。
|
||
レイヤーの定義と役割は `keyboard-design-layers.md` を正とする。
|
||
|
||
## 現在の一般的な制作手順
|
||
|
||
### 1. デザイン・設計段階
|
||
|
||
#### a) レイアウト設計
|
||
|
||
- **ツール**: KLE (Keyboard Layout Editor)
|
||
- **作業内容**:
|
||
- キーの物理配置を決定
|
||
- キーサイズ・間隔・角度を調整
|
||
- 視覚的な配置確認
|
||
- **出力**: KLE JSON ファイル
|
||
- **Beyond KLE対応**: **PHYレイヤー**
|
||
|
||
#### b) 回路設計・マトリックス設計
|
||
|
||
- **ツール**: 手動計算、KiCad等の回路図エディタ
|
||
- **作業内容**:
|
||
- キーマトリックスの行列構成を決定
|
||
- マイコンピンとの対応付け
|
||
- ダイオード配置の検討
|
||
- **出力**: 回路図、ピン配置表
|
||
- **現在の課題**: KLEからマトリックス情報への変換が手動
|
||
- **Beyond KLE対応**: **ELCレイヤー**。行列構成という工程は持たず、キーの端子とピンの対応として書く
|
||
|
||
### 2. PCB設計段階
|
||
|
||
#### a) フットプリント配置
|
||
|
||
- **ツール**: KiCad、Eagle、Fusion360等
|
||
- **作業内容**:
|
||
- KLE JSONから座標を抽出(手動またはスクリプト)
|
||
- スイッチフットプリントの配置
|
||
- マイコン・コネクタ等の部品配置
|
||
- **現在の課題**: KLEとPCBツール間の座標変換
|
||
- **Beyond KLE対応**: **PHYレイヤー** → PCBツール連携。渡すのは配置であって、フットプリントの選択はPCBツール側に残る
|
||
|
||
#### b) 配線・ルーティング
|
||
|
||
- **ツール**: PCB CADソフト
|
||
- **作業内容**:
|
||
- マトリックス配線の実装
|
||
- 電源・信号線のルーティング
|
||
- **Beyond KLE対応**: **ELCレイヤー**情報の活用
|
||
|
||
### 3. ファームウェア設定段階
|
||
|
||
#### a) ファームウェア基本設定
|
||
|
||
- **ツール**: QMK、KMK、VIA等
|
||
- **作業内容**:
|
||
- マトリックス定義(ROW/COL)
|
||
- ピン配置設定
|
||
- 物理レイアウト定義
|
||
- キーマップ配列の並び順を決める(QMKなら `LAYOUT` マクロの引数順、ZMKなら matrix transform の
|
||
`map`、KMKなら `coord_mapping`)
|
||
- **現在の課題**: KLEとファームウェア設定の手動変換。並び順は手書きで、引数の数え間違いがそのまま
|
||
キーのずれになる
|
||
- **Beyond KLE対応**: **PHY** + **IDX** + **ELC** → ファームウェア自動生成。
|
||
ROW/COLはELCの配線から出力時に割り当てる。並び順は**IDXレイヤー**が正本として持つ
|
||
|
||
#### b) キーマップ設定
|
||
|
||
- **ツール**: QMK Configurator、VIA、Remap等
|
||
- **作業内容**:
|
||
- 各キーへのキーコード割り当て
|
||
- レイヤー設計
|
||
- マクロ・特殊機能の設定
|
||
- **Beyond KLE対応**: **MAPレイヤー**。キーの参照にはPHYのキーIDを使い、配列への並べ替えは出力時にIDXの順で行う
|
||
|
||
### 4. 製造・組み立て段階
|
||
|
||
#### a) PCB製造
|
||
|
||
- **出力**: Gerberファイル、BOM、Pick&Place
|
||
- **Beyond KLE対応**: なし。部品の品種とフットプリントを持たないため、この段階はPCB設計ツールが担う
|
||
|
||
#### b) 部品調達・組み立て
|
||
|
||
- **作業内容**: はんだ付け、組み立て、動作確認
|
||
|
||
## 現在のワークフローの問題点
|
||
|
||
### 1. データの分断
|
||
|
||
- **問題**: KLE → PCB → ファームウェアで毎回手動変換
|
||
- **影響**: 一箇所変更時の全体への反映が困難
|
||
|
||
### 2. 設計変更時のトレーサビリティ不足
|
||
|
||
- **問題**: どのレイヤーでの変更が他に影響するかが不明確
|
||
- **影響**: デバッグ・修正作業の複雑化
|
||
|
||
### 3. ツール間連携の脆弱性
|
||
|
||
- **問題**: 手動変換によるヒューマンエラー
|
||
- **影響**: 設計ミス、製造後の修正コスト
|