DolphinQt: make Switch 2 settings a native controller section - #7
Conversation
Use a native Switch 2 Controllers group with compact actions and status, keeping physical discovery separate from emulated GameCube port types. Refresh state immediately after explicit actions and preserve saved connection policy, mapping behavior, and backend-disabled builds. Update setup instructions and add connection-policy/UI refresh guards. Prepared with AI assistance; no console emulation or transport changes.
|
Validation update for The Native Switch2Kit wiring job has passed, including clang-format 21.1.8, all 8 integration/preset checks, all 6 automatic-connection/UI wiring checks, and the compiled mapping and host lifecycle/identity regression programs with sanitizers. I inspected the completed job log, not just the workflow configuration. At this check, the SDK regression job and complete macOS arm64/x86_64 application jobs are still queued. Native visual review and real Bluetooth/controller acceptance remain unperformed; the passing source/host tests are not a claim that those checks have passed. The published diff contains only the five intended UI/documentation/test files. GitHub currently reports this PR mergeable; no merge or changes to cross-platform PR #5 have been made. |
Design decision
Keep Standard Controller as the emulated GameCube controller type. The adjacent physical-device dropdown already selects a Switch 2 controller and applies its recommended mapping. Bluetooth pairing is a shared host-device operation, not another emulated console device type.
Renaming or adding a Switch 2 entry in the emulated-type dropdown would mix those concepts and require special handling for multiple ports, settings reloads, explicit disconnect, and devices also used for Wii mappings. This change instead makes the existing pairing flow visible and consistent without adding another discovery trigger.
Changes
QGroupBox, between Wii Remotes and Common, using the existing controller sections' grid spacing rather than custom styling.No changes to console emulation, controller-type values, profiles, port assignment, Bluetooth transport, SDK pins, config format, or auto-connect defaults. Manual discovery, saved opt-in, explicit stop, and mapping protections continue through the existing backend APIs.
Validation
Passed locally against the changed files:
The two additional checks protect connection-policy and immediate-state-refresh behavior; they do not lock down label wording or layout coordinates.
The local environment has no Qt/macOS SDK, so a complete application build, native visual review, and physical Bluetooth pairing have not been performed locally. The existing Native Switch2Kit PR workflow supplies formatting, regression, SDK, and macOS application build checks; their outcome must be checked rather than assumed.
Suggested native review: confirm section alignment/wrapping and keyboard order; exercise Find, auto-connect enable/disable, explicit Disconnect All, Bluetooth off/denied access, and settings reopen; verify that an explicit stop remains stopped and saved mappings are unchanged.
Integration
This is a focused PR based on
masterat064e7dd90e8f1e2aef039bae83d2affada2a0368. Draft cross-platform PR #5 is left untouched. If #5 lands first, rebase this UI change while retaining its platform-specific diagnostics and setup documentation.AI assistance disclosure: the UI refactor, documentation edits, and added checks were prepared with AI assistance and require human review. No controller protocol or emulated-console behavior was changed.