Skip to content

endgame: stop identifying the XM2w 4K v2 as an OP1w 4K v2 - #61

Merged
snekxs merged 1 commit into
mainfrom
fix/xm2w-4k-v2-name-detection
Sep 6, 2026
Merged

endgame: stop identifying the XM2w 4K v2 as an OP1w 4K v2#61
snekxs merged 1 commit into
mainfrom
fix/xm2w-4k-v2-name-detection

Conversation

@snekxs

Copy link
Copy Markdown
Member

What this fixes

Reported: the Endgame Gear XM2w 4K v2 was showing up as an "OP1w 4K v2".

The OP1w and XM2w 4K v2 mice share the same wireless dongle USB PID (0x1970/0x1984) — the receiver hardware doesn't distinguish the paired mouse, only the mouse's own reported name does. eggProfileForPid only ever did a PID-keyed lookup into a table that hardcodes the OP1w 4K v2 name for both PID entries, so every XM2w 4K v2 behind that dongle reported itself as an OP1w 4K v2.

egg-we-hid.ts already solved this exact problem for the older OP1we/XM2we pair (which reuse PID 0x1970 too) by checking device.productName. This applies the same fix to eggProfileForPid: it now takes an optional product name and resolves the shared-PID case to an "Endgame Gear XM2w 4K v2" profile when the name mentions "xm2".

The OP1w and XM2w 4K v2 mice share the same 0x1970/0x1984 dongle PID
(the receiver hardware doesn't distinguish them), but eggProfileForPid
only ever looked the PID up in a table that hardcodes the OP1w name for
both entries — every XM2w 4K v2 behind that dongle reported itself as
an OP1w 4K v2. egg-we-hid.ts already solved this exact problem for the
older OP1we/XM2we pair by checking device.productName; do the same here.
@snekxs
snekxs merged commit eb9de5d into mainSep 6, 2026
2 checks passed
@snekxs
snekxs deleted the fix/xm2w-4k-v2-name-detection branch September 6, 2026 08:10
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