map: キーコードをQMK表記とし、キーごとの設定をMAP、全体設定をGeneratorに置く

- キーコードはQMKの表記を基本とし、レイヤーとStatic定義は名前で参照する
- キーボード全体の設定値はFirmware Generator、キーごとの上書きはMAPが持つ。QMKの機能ごとに所属を判断しないため
- P-1を動作定義とキーごとの設定の保存形式に絞り、初期対応範囲の問いを削除する
- QMK以外のファームウェアでのキーコード表記をMAP-P-8としてbacklogへ

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P4UAjpgV7DLqJqF3sEf1bi
This commit is contained in:
2026-09-23 21:18:59 +09:00
co-authored by Claude Opus 5.5
parent e8fe11bfa1
commit 49b023ceaa
3 changed files with 22 additions and 7 deletions
+13 -6
View File
@@ -17,7 +17,14 @@ MAPのキー参照にはPHYのキーIDを使い、実機との通信に使うア
現行の保存形式は、[JSON SchemaのMAP節](phase1-json-schema.md#4-mapレイヤー-json-schema)にある
レイヤー別のキーコード割り当てを出発点とする。
動作定義と保存形式の拡張範囲は、[P-1](#p-1-割り当てる動作と保存形式の範囲)で扱う。
キーコードはQMKの表記を基本とする。当面の対象ファームウェアがQMKであるため。
レイヤーとStaticの動作定義への参照は、QMKの番号ではなく名前で書く([DynamicとStatic](#dynamicとstatic))。
ファームウェアの設定値は、キーボード全体に効くものをFirmware Generatorの設定とし、
キーごとに上書きする値(tapping termのper key設定等)をMAPが持つ。
QMKの機能ごとにどちらに属するかを個別に判断しないで済むようにするため。
動作定義とキーごとの設定の保存形式は、[P-1](#p-1-動作定義とキーごとの設定の保存形式)で扱う。
新規作成したMAPは、すべてのキーが未割り当ての状態から始める。
PHYのラベルからの自動適用は行わない([PHY「ラベル」](PHYレイヤー.md#ラベル))。
@@ -57,8 +64,6 @@ MAPエディタはDynamicの読み書きを提供する。Dynamicで変更でき
- Community Modules
- キーボード・キーマップ固有のコード(VIAのキーボード独自メニューを含む)には、原則として対応しない。
Staticで扱う動作定義のうち、どこまでを初期対応するかは[P-1](#p-1-割り当てる動作と保存形式の範囲)で扱う。
Staticで定義する動作(タップダンス等)をキーへ割り当てるときは、定義を名前で参照し、出力時に番号へ変換する。
割り当て自体はVIAで読み書きできても、参照先の定義はStaticにしかないため、
[レイヤーの参照](#キーマップレイヤーの識別)と同じく並び順に依存させない。
@@ -108,11 +113,13 @@ MAPエディタは、キーコードを当面US配列の文字で表示する。
## 未確認事項
### P-1 割り当てる動作と保存形式の範囲
### P-1 動作定義とキーごとの設定の保存形式
- 位置づけ: MAPのデータモデルを定めるための設計判断。
- 未決事項: キーコード割り当てに加え、タップ/ホールド、コンボ、マクロ等の定義・設定のうち、どこまでを初期対応するか。ファームウェア共通表現と固有表現の境界も未定。
- 完了条件: 初期対応する動作と設定、その保存形式をユーザーが決める。
- 未決事項:
- マクロ(VIAで読み書きするため内容をMAPが持つ)と、タップダンス・コンボ等のStaticで定義する動作を、MAPにどう保存するか。
- キーごとに上書きする設定を、PHYのキー、キーとレイヤーの組、キーコードのどれに付けるか。
- 完了条件: 動作定義とキーごとの設定の保存形式をユーザーが決める。
### P-2 VIAの初期対応範囲
+8
View File
@@ -138,3 +138,11 @@
- 保留できる理由: 実機からの読み出しとStaticの初期キーマップへの反映はすでに仕様にある。手作業の手順で運用できる。
- 再開条件: Firmware Generatorでの書き込みや、プロジェクトと実機の状態管理(P-3)を設計するとき。
- 完了条件: 再ビルドの前に実機の調整を取り込めるワークフローをユーザーが決め、書き込み後にVIAのデータが初期化されることを実機で確認する。
### MAP-P-8 QMK以外のファームウェアでのキーコード表記
- 関連仕様: [MAPレイヤー](../MAPレイヤー.md)「MAPデータと他レイヤーの関係」、[全体方針のFirmware Generator](../keyboard-design-layers.md#firmware-generator)
- 未決事項: MAPはQMKのキーコード表記を基本とする。KMK等のQMK以外のファームウェアへ出力するとき、QMK表記から変換するか、共通の表記を別に設けるか。
- 保留できる理由: 当面の対象ファームウェアはQMKだけで、QMK表記のまま保存・読み書き・出力できる。
- 再開条件: QMK以外のファームウェアへの出力や、実機との通信に着手するとき。
- 完了条件: QMK以外のファームウェアで使うキーコードの表現と、QMK表記との対応方法をユーザーが決める。
+1 -1
View File
@@ -55,7 +55,7 @@ ELCはIDXを参照せず、IDXもELCを参照しない。MAPもIDXを参照し
- **対応ツール**: MAPエディタ (Keymap Designer)
- **出力**: MAP JSON (現行形式はレイヤー別キーコード割り当て)
- **備考**: キーの参照にPHYのキーIDを使う。配列としての並べ替えは、出力時にバリアント選択後のIDXの並び順で行う
- **詳細**: [MAPレイヤー](MAPレイヤー.md)。動作定義と保存形式の拡張範囲は、[MAPのP-1](MAPレイヤー.md#p-1-割り当てる動作と保存形式の範囲)で扱う
- **詳細**: [MAPレイヤー](MAPレイヤー.md)。動作定義とキーごとの設定の保存形式は、[MAPのP-1](MAPレイヤー.md#p-1-動作定義とキーごとの設定の保存形式)で扱う
### 5. IMEレイヤー (入力変換)