-
Notifications
You must be signed in to change notification settings - Fork 12
feature: add 0x8110 MouseButtonSpy #23
Description
Request
Please publish the official specification for HID++ 2.0 feature 0x8110 (MouseButtonSpy).
This feature is present on gaming mice (G502 HERO, G402, G903, G305, etc.) but has no public documentation. It's recognized by libratbag, Solaar, and the Linux kernel HID++ driver, but none can implement it without a spec.
Reverse-engineered findings
I reverse-engineered the protocol on a G502 HERO (PID 046d:c08b) and shared the findings with libratbag: libratbag/libratbag#1831
Summary of what I found:
- Function 0 returns button count in params[0]
- Function 1 returns spy mode status (spy activates automatically)
- Function 3 returns button index mapping
- Notifications arrive unsolicited with a 16-bit big-endian button bitmap in params[0..1]
An official spec would confirm these findings and document any functions or behaviors I may have missed (e.g., function 2 returned all zeros — unclear purpose).
Why this matters
0x8110 is the only way to detect firmware-only buttons (sniper/DPI shift, DPI cycle) on mice that lack ReprogramControls (0x1b04). Without documentation, these buttons are invisible to Linux.