Skip to content

endgame: show a neutral OP1w/XM2w 4K v2 name instead of guessing wrong - #64

Merged
snekxs merged 1 commit into
mainfrom
fix/endgame-op1w-xm2w-neutral-name-v2
Sep 6, 2026
Merged

endgame: show a neutral OP1w/XM2w 4K v2 name instead of guessing wrong#64
snekxs merged 1 commit into
mainfrom
fix/endgame-op1w-xm2w-neutral-name-v2

Conversation

@snekxs

Copy link
Copy Markdown
Member

Corrects PR #61. That fix checked device.productName for "xm2", assuming WebHID exposes the real paired-mouse name over the shared 0x1970/0x1984 dongle. Confirmed wrong on real hardware (screenshot from a user report): an XM2w 4K v2 shows productName as "Endgame Gear OP1we" — the receiver's fixed USB descriptor string, same regardless of which mouse is actually paired.

Checked for prior art before re-guessing: stuffz/mouse-battery-monitor independently documents this same shared dongle PID and states outright there's no known way to distinguish the model over the wire. So rather than confidently claim the wrong specific model again, both PID entries now report "Endgame Gear OP1w/XM2w 4K v2" until a real signal is found (e.g. a captured EEPROM/config byte that varies between units).

Yesterday's fix assumed device.productName would carry the actual
paired mouse's model. Confirmed on real hardware it doesn't: an XM2w
4K v2 reports productName as "Endgame Gear OP1we" — the receiver's
fixed USB descriptor string, identical regardless of which mouse is
paired. There is no "xm2" substring for the check to ever find.
Checked for prior art: stuffz/mouse-battery-monitor documents this
same shared dongle PID (0x1970) and states there is no known way to
distinguish the model over the wire. Rather than confidently claim
the wrong specific model, both PID entries now report a combined
"Endgame Gear OP1w/XM2w 4K v2" name until a real signal turns up.
@snekxs
snekxs merged commit 9d85a0e into mainSep 6, 2026
2 checks passed
Sign up for freeto 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

@snekxs