map: キーマップレイヤーを並び順と独立した名前で識別する

レイヤーを切り替える動作も名前で参照し、番号へは出力時に並び順から
変換する。並べ替えや挿入で参照先がずれないようにするため。
スキーマのlayerからidを外し、MAP内で一意なnameを識別子とする。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CBmwYrXocgCoFJfxVcKSGH
This commit is contained in:
2026-09-23 14:51:21 +09:00
co-authored by Claude Opus 5.5
parent 54f292b08e
commit 63da6e77d8
2 changed files with 11 additions and 3 deletions
+6
View File
@@ -19,6 +19,12 @@ MAPのキー参照にはPHYのキーIDを使い、実機との通信に使うア
レイヤー別のキーコード割り当てを出発点とする。
動作定義と保存形式の拡張範囲は、[P-1](#p-1-割り当てる動作と保存形式の範囲)で扱う。
## キーマップレイヤーの識別
キーマップレイヤーは、並び順と独立した名前で識別する。名前はMAP内で一意とする。
レイヤーを切り替える動作も名前でレイヤーを参照し、番号へは出力時に並び順から変換する。
レイヤーの並べ替えや挿入で参照先がずれないようにするため。IDXがキー番号を正本にしないのと同じ理由による。
## MAPエディタの責務
- PHYの配置を参照し、キーマップレイヤーごとの割り当てを編集・保存する。
+5 -3
View File
@@ -646,10 +646,12 @@ ELC・IDX・MAPはどれもPHYを参照する。ELCはIDXを参照せず、MAP
"$defs": {
"layer": {
"type": "object",
"required": ["id", "name", "keymap"],
"required": ["name", "keymap"],
"properties": {
"id": { "type": "integer", "minimum": 0 },
"name": { "type": "string" },
"name": {
"type": "string",
"description": "Layer identifier, unique within the MAP. Layer order is the array order"
},
"keymap": {
"type": "array",
"items": {