Repository navigation
Feat: Add support for SteelSeries Arctis Nova 3P Wireless - #417
Conversation
It seems like most (if not all) of the commands for each capability are the same, except without the |
|
Yeah, I copied most of the code |
f3a551e to
16a6fd2
Compare
|
Support for Linux works fine on my end. Unfortunately inside my Windows VM things don't work (I tried all |
Windows support is a bit tricky, it expects the exact same length. https://github.com/libusb/hidapi/blob/f18d2c0768bed300d13758dd9f52b57163c0498f/windows/hid.c#L1256 I think we can merge anyways, we just need to maybe include some message or at least a comment that windows seems to not quite work yet with that implementation |
|
Alright, where should I write the message/comment? |
|
Are all functions erroring out or only specific? |
|
From what I recall, nothing works on windows and they don't error out but instead just don't have any effects. |
…556) Windows hidapi pads HID feature reports to the interface's declared report length (~1060 bytes on this device), and the firmware silently ignores oversized reports - so every feature-report command was a no-op on Windows, which is why the device was limited to Linux/macOS (#417). Switch the battery query to the shared readDeviceStatus() write path and all commands to output reports, matching the Nova 5/7 implementations. The status response layout is identical to the Nova 5: offline = data[1] == 0x02, charging = data[4] == 0x01, level = data[3]. This also adds charging detection, which the feature-report implementation never had. Tested on a real Arctis Nova 3X (0x1038:0x226d) on Windows 11: battery level, charging flag, sidetone, equalizer presets and inactive time all work. Co-authored-by: Claude Fable 5 <[email protected]>
I'll be adding support for SteelSeries Arctis Nova 3P Wireless. Right now I managed to get the sidetone working.
I first tried seeing if the implementation of SteelSeries Arctis Nova 3 works for this model as well, but it doesn't.