継続行がスペース2つだと、VS Codeがインデント幅を2と自動判定する。 .vscode/settings.json でMarkdownの自動判定を切って幅4に固定し、 既存の継続行もリストの記号から4つ下げた位置に揃える。 変更したファイルに markdownlint --fix をかけた分(journalのURL囲みと空行)も含む。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VbfgHT848s3JbuFw8MKFF8
104 lines
4.1 KiB
Markdown
104 lines
4.1 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レイヤー**が全バリアントにわたって正本として持ち、
|
||
出力時に選択したバリアントで使うキーだけを残して、キー番号を0から連続する番号に詰める
|
||
|
||
#### 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. ツール間連携の脆弱性
|
||
|
||
- **問題**: 手動変換によるヒューマンエラー
|
||
- **影響**: 設計ミス、製造後の修正コスト
|