Skip to content

Add PC Switch Control profiles and output engine - #467

Merged
enaboapps merged 2 commits into
mainfrom
feat/switch-control-profiles-465
Jul 27, 2026
Merged

Add PC Switch Control profiles and output engine#467
enaboapps merged 2 commits into
mainfrom
feat/switch-control-profiles-465

Conversation

@enaboapps

Copy link
Copy Markdown
Contributor

Summary

  • add immutable Grid 3 and Generic keyboard profiles plus validated custom profile persistence
  • add mapped desktop and native Grid output sessions with reference-counted held outputs
  • add a keyboard-accessible eight-slot profile manager in Settings
  • add the single-owner switch session manager used by the upcoming protocol work

Closes #465

Test plan

  • Release solution build
  • Complete .NET test suite (484 unit tests, 1 integration test)
  • Manual keyboard and screen-reader review before release

- Add validated atomic profile persistence with immutable built-in Grid 3 and keyboard profiles
- Add mapped desktop and Grid output sessions with state reconciliation and deterministic cleanup
- Add an accessible eight-slot profile manager and focused engine tests

🤖 Auto-generated
- Canonicalize stored key and shortcut tokens for Windows input
- Retain failed provider cleanup state for deterministic retries
- Make binding values discoverable and focus invalid switch rows
- Add regression coverage for cleanup and normalization failures

🤖 Auto-generated
@enaboapps

Copy link
Copy Markdown
Contributor Author

Independent review follow-up is complete with no remaining findings. Key tokens are canonicalized, failed provider cleanup remains retryable, shortcut cleanup is best-effort and recoverable, and the editor now exposes type-specific choices plus row-focused accessible validation. Verification: Release build passes with 0 warnings; 490 unit tests and 1 integration test pass.

@enaboapps
enaboapps merged commit 2247f47 into main Jul 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add PC Switch Control profiles and output engine

2 participants