KeSp_controller/default.json
Mae PUGIN d1d10b7d73 feat: Binary protocol v2, config import/export, Tools tab, new layout format
- Migrate all serial commands from ASCII text to binary KS/KR frame protocol
  (SETLAYER, TD_LIST, COMBO_LIST, LEADER_LIST, KO_LIST, etc.)
- Add config import/export as JSON (keymaps, tap dances, combos, KO, leaders, macros)
- Merge Flash + Layout Preview into single Tools tab
- Replace WPF tree layout JSON format with flat groups+keys format:
  - Top-level "keys" for absolute positioning (thumbs, isolated keys)
  - "groups" with x/y/r transform, keys inside use local coordinates
  - Coordinates in units (1u = 50px), w/h default 1u, r default 0
- Layout auto-refresh (5s timer) for live preview while editing externally
- Pretty-print JSON in layout preview and export

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 21:30:04 +02:00

133 lines
4.1 KiB
JSON

{
"name": "KaSe V2 Debug",
"rows": 5,
"cols": 13,
"keys": [
{ "row": 0, "col": 6, "x": 6.48, "y": 3.4, "r": 10 },
{ "row": 4, "col": 2, "x": 2.2, "y": 4.8, "w": 1.2 },
{ "row": 4, "col": 3, "x": 3.48, "y": 4.8, "r": 10 },
{ "row": 4, "col": 4, "x": 4.6, "y": 5.0, "r": 20 },
{ "row": 4, "col": 5, "x": 5.6, "y": 5.6, "r": 40 },
{ "row": 4, "col": 6, "x": 6.4, "y": 6.3, "r": 40 },
{ "row": 3, "col": 6, "x": 7.66, "y": 6.3, "r": -40 },
{ "row": 4, "col": 7, "x": 8.49, "y": 5.61, "r": -40 },
{ "row": 4, "col": 8, "x": 9.46, "y": 5.0, "r": -20 },
{ "row": 4, "col": 9, "x": 10.56, "y": 4.7, "r": -10 },
{ "row": 4, "col": 10, "x": 11.76, "y": 4.7, "w": 1.2 },
{ "row": 2, "col": 6, "x": 7.96, "y": 3.4, "r": -10 }
],
"groups": [
{
"x": 0, "y": 0,
"keys": [
{ "row": 4, "col": 0, "x": 0, "y": 0 },
{ "row": 0, "col": 0, "x": 0, "y": 1.08 },
{ "row": 1, "col": 0, "x": 0, "y": 2.16 },
{ "row": 2, "col": 0, "x": 0, "y": 3.24 },
{ "row": 3, "col": 0, "x": 0, "y": 4.32 }
]
},
{
"x": 1.08, "y": 0,
"keys": [
{ "row": 4, "col": 1, "x": 0, "y": 0 },
{ "row": 0, "col": 1, "x": 0, "y": 1.08 },
{ "row": 1, "col": 1, "x": 0, "y": 2.16 },
{ "row": 2, "col": 1, "x": 0, "y": 3.24 },
{ "row": 3, "col": 1, "x": 0, "y": 4.32 }
]
},
{
"x": 2.46, "y": 0.5, "r": 5,
"keys": [
{ "row": 0, "col": 2, "x": 0, "y": 0 },
{ "row": 1, "col": 2, "x": 0, "y": 1.08 },
{ "row": 2, "col": 2, "x": 0, "y": 2.16 },
{ "row": 3, "col": 2, "x": 0, "y": 3.24 }
]
},
{
"x": 3.84, "y": 0.1, "r": 10,
"keys": [
{ "row": 0, "col": 3, "x": 0, "y": 0 },
{ "row": 1, "col": 3, "x": 0, "y": 1.08 },
{ "row": 2, "col": 3, "x": 0, "y": 2.16 },
{ "row": 3, "col": 3, "x": 0, "y": 3.24 }
]
},
{
"x": 4.82, "y": 0.5, "r": 10,
"keys": [
{ "row": 0, "col": 4, "x": 0, "y": 0 },
{ "row": 1, "col": 4, "x": 0, "y": 1.08 },
{ "row": 2, "col": 4, "x": 0, "y": 2.16 },
{ "row": 3, "col": 4, "x": 0, "y": 3.24 }
]
},
{
"x": 5.8, "y": 0.76, "r": 10,
"keys": [
{ "row": 0, "col": 5, "x": 0, "y": 0 },
{ "row": 1, "col": 5, "x": 0, "y": 1.08 },
{ "row": 2, "col": 5, "x": 0, "y": 2.16 },
{ "row": 3, "col": 5, "x": 0, "y": 3.24 }
]
},
{
"x": 8.54, "y": 0.76, "r": -10,
"keys": [
{ "row": 0, "col": 7, "x": 0, "y": 0 },
{ "row": 1, "col": 7, "x": 0, "y": 1.08 },
{ "row": 2, "col": 7, "x": 0, "y": 2.16 },
{ "row": 3, "col": 7, "x": 0, "y": 3.24 }
]
},
{
"x": 9.62, "y": 0.5, "r": -10,
"keys": [
{ "row": 0, "col": 8, "x": 0, "y": 0 },
{ "row": 1, "col": 8, "x": 0, "y": 1.08 },
{ "row": 2, "col": 8, "x": 0, "y": 2.16 },
{ "row": 3, "col": 8, "x": 0, "y": 3.24 }
]
},
{
"x": 10.6, "y": 0.1, "r": -10,
"keys": [
{ "row": 0, "col": 9, "x": 0, "y": 0 },
{ "row": 1, "col": 9, "x": 0, "y": 1.08 },
{ "row": 2, "col": 9, "x": 0, "y": 2.16 },
{ "row": 3, "col": 9, "x": 0, "y": 3.24 }
]
},
{
"x": 11.98, "y": 0.4, "r": -5,
"keys": [
{ "row": 0, "col": 10, "x": 0, "y": 0 },
{ "row": 1, "col": 10, "x": 0, "y": 1.08 },
{ "row": 2, "col": 10, "x": 0, "y": 2.16 },
{ "row": 3, "col": 10, "x": 0, "y": 3.24 }
]
},
{
"x": 13.36, "y": 0,
"keys": [
{ "row": 4, "col": 11, "x": 0, "y": 0 },
{ "row": 0, "col": 11, "x": 0, "y": 1.08 },
{ "row": 1, "col": 11, "x": 0, "y": 2.16 },
{ "row": 2, "col": 11, "x": 0, "y": 3.24 },
{ "row": 3, "col": 11, "x": 0, "y": 4.32 }
]
},
{
"x": 14.44, "y": 0,
"keys": [
{ "row": 4, "col": 12, "x": 0, "y": 0 },
{ "row": 0, "col": 12, "x": 0, "y": 1.08 },
{ "row": 1, "col": 12, "x": 0, "y": 2.16 },
{ "row": 2, "col": 12, "x": 0, "y": 3.24 },
{ "row": 3, "col": 12, "x": 0, "y": 4.32 }
]
}
]
}