[GH#453] EPIC — Global Hotkeys für Strategy Desktop (keyboard-first control) #19

Open
opened 2026-05-19 22:15:36 +02:00 by Max · 0 comments
Owner

Migrated from GitHub #453
Originally created by @Bio1988 on 2026-05-08T17:46:03Z


Problem

Strategy Desktop ist aktuell audio-first — alle Steuerung geht über Voice/PTT. Nutzer ohne Mikrofon oder in lauten Umgebungen können die App nicht vernünftig steuern. Es gibt keine Tastenkürzel und keine Keyboard-Steuerung.

Ziel

Vollständige Keyboard-Steuerung aller Race-Funktionen über frei konfigurierbare globale Hotkeys. Jeder Hotkey ist in den Settings änderbar. Hotkeys funktionieren systemweit (auch wenn die App nicht im Fokus ist — z.B. während iRacing läuft).

Umfang

4 Kategorien mit je 4 Hotkeys = 16 konfigurierbare Tastenkürzel:

Kategorie Aktion Default
Voice Push-to-Talk (Hold) Ctrl+Space
Voice Active Toggle Ctrl+V
Quiet Mode Toggle Ctrl+Q
Repeat Last Call Ctrl+R
Racing Overlay ein/ausblenden Ctrl+H
Strategie anzeigen Ctrl+S
Field State anzeigen Ctrl+F
Diagnostics Panel Ctrl+D
Replay Play / Pause Ctrl+P
Frame vor Ctrl+N
Frame zurück Ctrl+B
Zum Start springen Ctrl+0
System Verbosity wechseln Ctrl+M
Update prüfen Ctrl+U
Quick Settings Ctrl+K
App starten/stoppen Ctrl+X

Unteraufgaben

Siehe verlinkte Child-Issues.

Architektur

  • Wails GlobalShortcuts API für systemweite Hotkey-Registrierung (Windows)
  • Settings Domain: HotkeySettings + HotkeyBinding Wertobjekte in internal/settings/domain/
  • Application Layer: HotkeyRegistry Service der Settings → Wails Bindings mappt
  • Frontend: Settings-Panel zum Ändern der Hotkeys mit Key-Capture-UI
  • Persistence: Hotkey-Konfiguration in bestehendem Settings JSON

Abhängigkeiten

  • Nutzt bestehende PTTMicController Infrastruktur (Batch 5B, #373)
  • Nutzt bestehende Wails Bindings in App (60+ Methoden)

Akzeptanzkriterien

  • Alle 16 Aktionen über frei wählbare globale Hotkeys steuerbar
  • Hotkeys funktionieren wenn iRacing im Vordergrund läuft
  • Hotkey-Konfiguration in Settings mit Validierung (Keypress-Capture UI)
  • Konflikterkennung bei doppelter Belegung
  • Defaults sind dokumentiert und sinnvoll gewählt
  • PTT-Hotkey unterstützt "hold" (nicht nur toggle)

Child Issues

  • #454 — F.1: Hotkey Domain Model und Settings-Erweiterung
  • #455 — F.2: Hotkey Settings Persistence (File Repository)
  • #456 — F.3: Windows Global Hotkey Registry (Wails + Win32)
  • #457 — F.4: Frontend: Hotkey-Konfiguration in Settings-UI
  • #458 — F.5: In-App Hotkey-Referenz-Overlay (Quick Help)
Migrated from [GitHub #453](https://github.com/Bio1988/strategy-desktop/issues/453) Originally created by @Bio1988 on 2026-05-08T17:46:03Z --- ## Problem Strategy Desktop ist aktuell audio-first — alle Steuerung geht über Voice/PTT. Nutzer ohne Mikrofon oder in lauten Umgebungen können die App nicht vernünftig steuern. Es gibt **keine Tastenkürzel** und **keine Keyboard-Steuerung**. ## Ziel Vollständige Keyboard-Steuerung aller Race-Funktionen über frei konfigurierbare globale Hotkeys. Jeder Hotkey ist in den Settings änderbar. Hotkeys funktionieren systemweit (auch wenn die App nicht im Fokus ist — z.B. während iRacing läuft). ## Umfang 4 Kategorien mit je 4 Hotkeys = 16 konfigurierbare Tastenkürzel: | Kategorie | Aktion | Default | |---|---|---| | **Voice** | Push-to-Talk (Hold) | `Ctrl+Space` | | | Voice Active Toggle | `Ctrl+V` | | | Quiet Mode Toggle | `Ctrl+Q` | | | Repeat Last Call | `Ctrl+R` | | **Racing** | Overlay ein/ausblenden | `Ctrl+H` | | | Strategie anzeigen | `Ctrl+S` | | | Field State anzeigen | `Ctrl+F` | | | Diagnostics Panel | `Ctrl+D` | | **Replay** | Play / Pause | `Ctrl+P` | | | Frame vor | `Ctrl+N` | | | Frame zurück | `Ctrl+B` | | | Zum Start springen | `Ctrl+0` | | **System** | Verbosity wechseln | `Ctrl+M` | | | Update prüfen | `Ctrl+U` | | | Quick Settings | `Ctrl+K` | | | App starten/stoppen | `Ctrl+X` | ## Unteraufgaben Siehe verlinkte Child-Issues. ## Architektur - **Wails GlobalShortcuts API** für systemweite Hotkey-Registrierung (Windows) - **Settings Domain**: `HotkeySettings` + `HotkeyBinding` Wertobjekte in `internal/settings/domain/` - **Application Layer**: `HotkeyRegistry` Service der Settings → Wails Bindings mappt - **Frontend**: Settings-Panel zum Ändern der Hotkeys mit Key-Capture-UI - **Persistence**: Hotkey-Konfiguration in bestehendem Settings JSON ## Abhängigkeiten - Nutzt bestehende `PTTMicController` Infrastruktur (Batch 5B, #373) - Nutzt bestehende Wails Bindings in `App` (60+ Methoden) ## Akzeptanzkriterien - [ ] Alle 16 Aktionen über frei wählbare globale Hotkeys steuerbar - [ ] Hotkeys funktionieren wenn iRacing im Vordergrund läuft - [ ] Hotkey-Konfiguration in Settings mit Validierung (Keypress-Capture UI) - [ ] Konflikterkennung bei doppelter Belegung - [ ] Defaults sind dokumentiert und sinnvoll gewählt - [ ] PTT-Hotkey unterstützt "hold" (nicht nur toggle) ## Child Issues - #454 — F.1: Hotkey Domain Model und Settings-Erweiterung - #455 — F.2: Hotkey Settings Persistence (File Repository) - #456 — F.3: Windows Global Hotkey Registry (Wails + Win32) - #457 — F.4: Frontend: Hotkey-Konfiguration in Settings-UI - #458 — F.5: In-App Hotkey-Referenz-Overlay (Quick Help)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Max/strategy-desktop#19
No description provided.