Skip to content

feat(fantech): add WG14P Yari Pro support - #114

Merged
jazzstack merged 4 commits into
OpenMouse-Project:devfrom
jazzstack:feat/fantech-wg14p
Aug 17, 2026
Merged

feat(fantech): add WG14P Yari Pro support#114
jazzstack merged 4 commits into
OpenMouse-Project:devfrom
jazzstack:feat/fantech-wg14p

Conversation

@jazzstack

Copy link
Copy Markdown

Add Fantech Yari Pro WG14P (VID 0x3151, PID 0x503D) to the device catalog with full HID vendor protocol support.

This adds support for the Fantech WG14P wireless gaming mouse featuring a PixArt 3950 STRIKE sensor, 42000 DPI max, and 8K polling rate.

Changes

  • src/check-scan.ts - added fantech 0x3151 to BRANDS + OPENMOUSE_SUPPORTED
  • src/supported-mice.ts - added device catalog entry (PID 0x503d)
  • src/supported-mice.test.ts - added PID 0x503d to PID_UNIVERSE
  • src/device/controller.ts - imported FantechHidClient, added to NEEDS_OPEN
  • src/device/traits.ts - added fantech family traits
  • src/ui/device-images.ts - added Fantech fallback name

Protocol

The HID vendor protocol was reverse-engineered from the Fantech web configurator at qmk.top. Uses command-based protocol (Family B) with DPI and report rate commands.

Testing

TypeScript compiles cleanly. All 81 tests pass.

Depends on: OpenMouse-Project/mouse-protocol#27

jazzstack and others added 3 commits August 16, 2026 18:07
fix(supported): collapse brand typos (Reddragon, Eyooso) onto canonical names
Add Fantech Yari Pro WG14P (VID 0x3151, PID 0x503D) to:
- check-scan.ts: BRANDS + OPENMOUSE_SUPPORTED
- supported-mice.ts: device catalog entry (PID 0x503d)
- supported-mice.test.ts: PID_UNIVERSE
- controller.ts: FantechHidClient import + NEEDS_OPEN
- traits.ts: fantech family traits
- device-images.ts: Fantech fallback

Protocol reverse-engineered from qmk.top web configurator:
- Command-based protocol (Family B)
- Get DPI: cmd 144, Set DPI: cmd 16
- Get Report Rate: cmd 131, Set Report Rate: cmd 8
- DPI stored as LE uint16 at bytes [8+slot*2..9+slot*2]
- Rate encoding: 0=8000Hz, 1=4000Hz, 2=2000Hz, 3=1000Hz, 4=500Hz, 5=125Hz
Comment thread src/supported-mice.test.ts Dismissed
@jazzstack
jazzstack merged commit 67a77ef into OpenMouse-Project:dev Aug 17, 2026
3 checks passed
Sign up for free to 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.

2 participants