map: MAPレイヤーを新設し、実機との読み書きとVIA対応を決める
MAPエディタは割り当ての編集に加え、実機への書き込みと読み出しを一組で 提供する。新規キーボードの設計から実機での調整までを主眼に置くため。 最初の通信プロトコルはVIAとし、独自プロトコルの追加やそのための ファームウェアのフォークは行わない。 VIA向けキーボード定義の生成はFirmware Generator、ビルドと書き込みは IDEの責務として、MAP編集の外に置いた。VIAで通信できることと、MAPが そのデータを所有することは区別する。 Journal: journal/2026-09-22-map-via-workflow.md Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MtVk8W4yK6j3eCqQpEQBLS
This commit is contained in:
@@ -50,11 +50,12 @@ ELCはIDXを参照せず、IDXもELCを参照しない。MAPもIDXを参照し
|
||||
|
||||
### 4. MAPレイヤー (キーマップ)
|
||||
|
||||
- **役割**: キーとキーコードの対応
|
||||
- **役割**: キーマップレイヤーごとのキーへの割り当て
|
||||
- **入力**: PHYのキーID
|
||||
- **対応ツール**: ファームウェア、VIA、Remap
|
||||
- **出力**: レイヤー別キーコード
|
||||
- **対応ツール**: MAPエディタ (Keymap Designer)
|
||||
- **出力**: MAP JSON (現行形式はレイヤー別キーコード割り当て)
|
||||
- **備考**: キーの参照にPHYのキーIDを使う。配列としての並べ替えは、出力時にバリアント選択後のIDXの並び順で行う
|
||||
- **詳細**: [MAPレイヤー](MAPレイヤー.md)。動作定義と保存形式の拡張範囲は、[MAPのP-1](MAPレイヤー.md#p-1-割り当てる動作と保存形式の範囲)で扱う
|
||||
|
||||
### 5. IMEレイヤー (入力変換)
|
||||
|
||||
@@ -85,19 +86,22 @@ ELCはIDXを参照せず、IDXもELCを参照しない。MAPもIDXを参照し
|
||||
- 視覚的に配線を確認
|
||||
- 出力: ELC JSON
|
||||
|
||||
#### Keymap Designer
|
||||
#### Keymap Designer (MAPエディタ)
|
||||
|
||||
- PHY JSONを入力
|
||||
- レイヤー別キーコード割り当て
|
||||
- VIA/Remapとの互換性
|
||||
- PHYの配置を参照し、キーマップレイヤーごとの割り当てを編集・保存する
|
||||
- 新規キーボードの設計から実機での調整までを扱い、割り当ての読み書きを一組で提供する
|
||||
- 実機との通信は既存のVIAプロトコルから対応し、対象を段階的に増やす
|
||||
- 出力: MAP JSON
|
||||
|
||||
具体的な責務と通信上の制約は、[MAPレイヤー](MAPレイヤー.md#mapエディタの責務)に従う。
|
||||
|
||||
#### Firmware Generator
|
||||
|
||||
- 全レイヤーの情報を統合
|
||||
- バリアントを選択し、IDXから対象外のキーを除いた並びで、キー番号の対応表とMAPの配列を生成
|
||||
- row / col など、ターゲットが要求する派生情報をここで割り当てる
|
||||
- QMK/VIA/KMK等へ変換
|
||||
- VIA向けキーボード定義は、配置と接続先の対応などを統合して生成する
|
||||
- 出力: ターゲット固有の設定ファイル
|
||||
|
||||
### 統合環境 (IDE)
|
||||
@@ -107,6 +111,9 @@ ELCはIDXを参照せず、IDXもELCを参照しない。MAPもIDXを参照し
|
||||
- **バージョン管理統合**: テキストベース定義でgit管理
|
||||
- **ワークフローサポート**: ガイド付きウィザード、テンプレート
|
||||
|
||||
ビルド・ファームウェアの書き込みは、MAP編集とは別の実行機能として扱う。
|
||||
同じ画面から各ツールを利用できることと、各レイヤーがそのデータや処理を所有することは区別する。
|
||||
|
||||
## プロトコル設計
|
||||
|
||||
### レイヤー間インターフェース
|
||||
@@ -122,7 +129,7 @@ PHY → IDX
|
||||
|
||||
PHY → MAP
|
||||
Input: キーID
|
||||
Output: レイヤー別キーコード
|
||||
Output: MAP JSON (現行形式はレイヤー別キーコード割り当て)
|
||||
|
||||
All → Firmware
|
||||
Input: 各レイヤーのデータ + バリアント選択
|
||||
@@ -158,7 +165,7 @@ All → Firmware
|
||||
## 既存ツールとの関係
|
||||
|
||||
- **KLE**: PHYデータを表示できる既存のビュワー。KLE JSONの読み書きで連携する
|
||||
- **VIA/Remap**: MAP Layerクライアントとして連携
|
||||
- **VIA/Remap**: 同じVIA対応実機の割り当てを編集する外部クライアント。外部で調整した結果もMAPエディタで読み出してプロジェクトへ戻す。対応範囲は[MAPのP-2](MAPレイヤー.md#p-2-viaの初期対応範囲)、実機との対応・状態管理は[MAPのP-3](MAPレイヤー.md#p-3-プロジェクトと実機の対応状態管理)で扱う
|
||||
- **QMK Configurator**: Firmware Generatorのターゲット
|
||||
|
||||
## 配慮事項
|
||||
|
||||
Reference in New Issue
Block a user