Add SteelSeries Arctis Nova 5/5X HID detection - #12
Closed
Ayerdi wants to merge 3 commits into
Closed
Conversation
Ayerdi
added a commit
that referenced
this pull request
Aug 17, 2026
* feat: integrate SteelSeries Nova 5/5X HID provider (v1.4.0) Brings in the useful part of #12 (native HID module, tests, diagnostic tool) and integrates it as a real detection mode instead of dead code: - New DetectionMode 'SteelSeriesNova5' recognized by the runtime. - Worker polls Get-SteelSeriesNova5State (HID, no external software); Unknown never switches. - Installer headset-type picker gains option [4] SteelSeries Arctis Nova 5/5X: verifies the HID receiver is present, sets the mode. - Verifier reports receiver presence for this mode. - Release package bundles lib/SteelSeriesNova5.psm1 and the diagnostic tool; Pester runs the new tests. - CHANGELOG v1.4.0. Co-authored-by: CommandCodeBot <noreply@commandcode.ai> * fix: detect all Logitech PRO X headsets via G HUB, not only PRO X 2 A Reddit user reported their PRO X Wireless is not detected. The G HUB filters hardcoded the 'PRO\s*X\s*2' pattern, so any other PRO X headset (PRO X Wireless, PRO X) was skipped. Add Test-LogitechProXDeviceName (centralized in AutoSwitchCore, exported) that matches PRO X / PRO X 2 / PRO X Wireless and excludes Logitech mouse names (G PRO X Superlight), and use it in the runtime fallback lookup and both installer G HUB filters. Prompts/logs now say "Logitech PRO X". Pester tests added. Co-authored-by: CommandCodeBot <noreply@commandcode.ai> --------- Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Owner
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the device-specific HID provider needed to detect the real wireless ON/OFF state of SteelSeries Arctis Nova 5 and Nova 5X receivers when Windows keeps their audio endpoint
Active.What is included
0x1038and Nova 5/5X PIDs0x2232/0x2253.0xFFC0, Usage0x0001.00 B0and maps response byte 1 value0x02toDisconnected.Unknown; it never guesses OFF from a failed query.tools/Test-SteelSeriesNova5Hid.ps1) to validate ON/OFF transitions on real hardware.Protocol source
The protocol is based on the SteelSeries Arctis Nova 5 implementation in Sapd/HeadsetControl, including its receiver IDs, HID usage, status request, and offline marker.
Draft status / remaining work
This PR is intentionally draft. The provider itself is present, but it is not yet wired into
Runtime-PROX2-AutoSwitch.ps1, the installer, or the Reconfigure wizard. Those existing scripts require a larger integration change and should only selectSteelSeriesNova5Hidafter a verifiedConnected -> Disconnected -> Connectedhardware cycle.Before marking ready:
SteelSeriesNova5Hidinto runtime polling and config validation;Safety behavior
If the HID receiver cannot be queried reliably, the detector returns
Unknown. This follows the project's existing rule that an unknown physical state must not trigger an audio-output switch.