# VersaGUI – Dokumentations-Index Jede Datei deckt eine GUI-Komponente ab. Für Claude: die relevante(n) Dateien zu Beginn einer Aufgabe lesen statt die gesamten Quelldateien zu scannen. | Datei | Inhalt | |---|---| | [00_architecture.md](00_architecture.md) | Threading-Modell, Datenfluss, Verbindungslebenszyklus, globale Constraints (DTR, IOException, Packed-Layout) | | [01_serial_manager.md](01_serial_manager.md) | WMI-Erkennung, TryConnect, ReadLoop, Sende-Methoden, Reconnect-Backoff | | [02_device_config.md](02_device_config.md) | DeviceConfig + MacroTable: Felder, Byte-Layout (223/256 B), CRC16, LedAnimType | | [03_tray_app.md](03_tray_app.md) | ApplicationContext, Tray-Icon, Board-Event-Routing, Config/Makro-Dump-Empfang, TODOs | | [04_config_form.md](04_config_form.md) | Grid-Layout, mx_idx-Formel, RefreshMxButton, OnSave (Task.Run), Import/Export | | [05_action_dialog.md](05_action_dialog.md) | Panels je Typ, ProcessCmdKey-Capture, layout-unabhängiger Scan-Code-Lookup, Consumer-Liste | | [06_config_json.md](06_config_json.md) | JSON-Format, Serialize/Deserialize, Einschränkungen | ## Schnell-Referenz: Was steht wo? - **DtrEnable-Problem** → [00_architecture.md](00_architecture.md), [01_serial_manager.md](01_serial_manager.md) - **IOException ≠ Disconnect (.NET 7)** → [00_architecture.md](00_architecture.md), [01_serial_manager.md](01_serial_manager.md) - **Byte-Layout der 223-Byte-Config** → [02_device_config.md](02_device_config.md) - **Warum ProcessCmdKey statt OnKeyDown?** → [05_action_dialog.md](05_action_dialog.md) - **Warum Scan-Codes statt VK-Codes (Umlaut-Problem)?** → [05_action_dialog.md](05_action_dialog.md) - **mx_idx ↔ key_id-Umrechnung** → [04_config_form.md](04_config_form.md) - **Makro-Slot-Konvention** → [02_device_config.md](02_device_config.md) - **HOST_COMMAND noch nicht implementiert** → [03_tray_app.md](03_tray_app.md) - **Task.Run beim Speichern** → [04_config_form.md](04_config_form.md)