Skip to content

feature: add 0x8110 MouseButtonSpy #23

@jtxmp

Description

@jtxmp

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions