Skip to content

feat: integrate SteelSeries Nova 5/5X HID provider (v1.4.0) - #14

Merged
Ayerdi merged 2 commits into
mainfrom
feat/steelseries-nova5-integration
Aug 17, 2026
Merged

feat: integrate SteelSeries Nova 5/5X HID provider (v1.4.0)#14
Ayerdi merged 2 commits into
mainfrom
feat/steelseries-nova5-integration

Conversation

@Ayerdi

@Ayerdi Ayerdi commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Summary

Takes the useful part of #12 (native HID detection module, tests, diagnostic tool) and integrates it as a real detection mode instead of leaving it as dead code.

  • New DetectionMode = SteelSeriesNova5 recognized by the runtime (Get-ConfigDetectionMode).
  • Runtime worker polls Get-SteelSeriesNova5State over HID (P/Invoke to hid.dll/setupapi.dll); Unknown never switches — same rule as the other modes. No SteelSeries GG or third-party software.
  • Installer: headset-type picker gains option [4] "SteelSeries Arctis Nova 5/5X"; verifies the HID receiver is present before setting the mode.
  • Verifier: reports receiver presence for this mode.
  • Release packaging: bundles lib/SteelSeriesNova5.psm1 and tools/Test-SteelSeriesNova5Hid.ps1; Pester runs the new tests.
  • CHANGELOG v1.4.0.

Why this instead of #11/#12 as-is

Validation

  • PowerShell syntax + PSScriptAnalyzer + Pester (CI).
  • Language guard + secret scan pass.
  • check-language.py passes locally.

Not validated by CI: real Nova 5/5X hardware. Use tools/Test-SteelSeriesNova5Hid.ps1 to watch the receiver state live (turn the headset ON/OFF and check Connected/Disconnected).

Ayerdi and others added 2 commits August 13, 2026 22:43
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>
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>
@Ayerdi
Ayerdi merged commit b70cd5e into main Aug 17, 2026
3 checks passed
@Ayerdi
Ayerdi deleted the feat/steelseries-nova5-integration branch August 17, 2026 14:37
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.

1 participant