Refresh GUI documentation and profile synchronization

This commit is contained in:
2026-07-24 10:35:47 +02:00
parent 08db94bb6b
commit 7d381218f3
15 changed files with 226 additions and 35 deletions
+14 -2
View File
@@ -14,7 +14,14 @@ Menschenlesbares JSON mit `System.Text.Json` (`WriteIndented=true`, Enums als St
{
"index": 0,
"action": { "type": "HidKey", "data": 260 },
"led": { "r": 80, "g": 40, "b": 0, "anim": "ColorCycle", "period_ms": 4000 }
"led": {
"r": 80,
"g": 40,
"b": 0,
"brightness": 255,
"anim": "ColorCycle",
"period_ms": 4000
}
},
...
],
@@ -32,7 +39,9 @@ Menschenlesbares JSON mit `System.Text.Json` (`WriteIndented=true`, Enums als St
## Serialisierung
`ConfigJson.Serialize(cfg)` → JSON-String. Exportiert alle 20 Buttons + 4 Encoder vollständig.
`ConfigJson.Serialize(cfg)` → JSON-String. Exportiert alle 20 Buttons und vier
Encoder des aktuell aktiven Profils vollständig, einschließlich
Per-LED-Helligkeit.
## Deserialisierung
@@ -47,6 +56,9 @@ Menschenlesbares JSON mit `System.Text.Json` (`WriteIndented=true`, Enums als St
## Anmerkungen
- `MacroTable` wird **nicht** exportiert (kein JSON-Format für Makros definiert)
- globale Helligkeit und Encoder-Sensitivität werden nicht exportiert
- `profile` wählt das Zielprofil aus und macht es gleichzeitig zum aktiven
Profil; die beiden anderen Profile bleiben unverändert
- `data` enthält den `ushort`-Wert direkt (für HidKey z.B. `Keycode | (Modifier << 8)`)
- Die Datei ist kein Binärformat und kann manuell bearbeitet werden
- Ein ungültiger Wert wird vor dem Anwenden mit `InvalidDataException`