diff --git a/MAPレイヤー.md b/MAPレイヤー.md index b821efd..c1eb174 100644 --- a/MAPレイヤー.md +++ b/MAPレイヤー.md @@ -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の初期対応範囲 diff --git a/backlog/README.md b/backlog/README.md index c224e0e..8d7b997 100644 --- a/backlog/README.md +++ b/backlog/README.md @@ -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表記との対応方法をユーザーが決める。 diff --git a/keyboard-design-layers.md b/keyboard-design-layers.md index 20d3d97..ac01e10 100644 --- a/keyboard-design-layers.md +++ b/keyboard-design-layers.md @@ -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レイヤー (入力変換)