feat(fantech): add WG14P Yari Pro support - #113
Closed
jazzstack wants to merge 352 commits into
Closed
Conversation
fix(logitech): stop offering surface and lift-off controls the G309 does not have
…-support # Conflicts: # src/devices/logitech/TESTING.md # src/devices/razer/TESTING.md # src/devices/razer/hid.ts
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…-off-distance Implementing the Razer viper v3 Pro LOD System
Co-authored-by: Cursor <cursoragent@cursor.com>
Writes lighting effects to the Viper Mini through the extended-matrix family (0x0f/0x02) on the legacy 0x3f transaction id, matching openrazer's razer_chroma_extended_matrix_effect_* payloads for off, static, spectrum, reactive (with 1-4 speed), and the three breathing variants. The mouse cannot report effects back, so the driver caches its last write and marks the zone write-only. Adds the lighting control UI (effect, colour, and speed pickers) behind the MouseLighting status shape and a preview mode for the Viper Mini. Fixes the pre-existing control.ts string[] typing and the reactive speed type errors so the check passes.
The lighting UI (effect, colour, and reactive speed pickers) plus the extended-matrix effect builder add 0.7 kB CSS and 6.8 kB JS over the previous budgets, which had been sized to the lift-off work at 99%. Raise the CSS budget to 47 kB and JS to 335 kB to keep the gate green.
build/check-bundle-size.ts ".js": 325_000, -> ".js": 335_000,
Isolate Bolt pairing/long-report handling in bolt.ts so Lightspeed and wired Logitech paths stay shared with minimal conflict surface. Co-authored-by: Cursor <cursoragent@cursor.com>
Production JS is ~325.4 kB after bolt.ts; lift the budget to 330 kB with headroom. Co-authored-by: Cursor <cursoragent@cursor.com>
The receiver returns garbage while it reconfigures the wireless link after switching to 8,000 Hz, so the DPI and charging reads failed with bad checksums and the lift-off read silently hid the panel. exchange now re-sends a request whose reply came back corrupt, and setPollingRate pauses 150 ms for the link to settle before reading back.
The receiver returns garbage while it reconfigures the wireless link after switching to 8,000 Hz, so the DPI and charging reads failed with bad checksums and the lift-off read silently hid the panel. exchange now re-sends a request whose reply came back corrupt, and setPollingRate pauses 150 ms for the link to settle before reading back.
Add verified protocol support and capability-driven UI so OpenMouse mirrors Teevolink safely. Co-authored-by: Cursor <cursoragent@cursor.com>
Reuse existing slider styles and document the production protocol code that requires a larger JavaScript budget. Co-authored-by: Cursor <cursoragent@cursor.com>
…ct mice Direct-connect mice (G402/G403 HERO/G502 HERO) store their polling rate in the onboard profile, so the 1 kHz stop was rendered disabled. Route setPollingRate through the CRC-checked profile write for verified formats, encode base-v1 rates as the USB polling interval in milliseconds rather than a table index, and add LOGAN (format 2) report-rate capabilities. Mark format 2 verified for the report-rate field only; DPI stages, names and bunny hop stay locked.
…-live feat: Hall of Fame page, live supported-devices data.
feat(ui): Pulsar X2 V2 artwork and 4K receiver preview
…3-supported fix(devices): mark Pulsar X3 Medium test-needed until XS-1 driver lands
…pping Implemented button mapping for the vv3p
Bump @openmouse/protocol (lockfile) to 3c3a445: the XS-1 feature-report driver, 4K receiver, and corrected DPI encoding. X3 Medium now connects through its 0xffff:1 control interface; pin its PIDs in the registry and flip the devices table to supported. Guard the receiver-LED toggle for clients that expose no dongle LED control.
The X3 family codec and 4K receiver support in mouse-protocol 3c3a445 add ~1.3 kB to the measured aggregate; raise the budget from 600 kB to 610 kB.
fix(pulsar): ship the XS-1 driver and mark X3 Medium supported
The 0x5402 1K Dongle now reports as 'Pulsar X3 M' instead of the generic product name.
chore(protocol): bump to ba64a12 for the X3 M dongle name
Reddragon and Eyooso catalog submissions previously surfaced as separate brand groups. canonicalBrand() now folds free-text variants onto the canonical names (Redragon, E-YOOSO) used by the static table, and the Eyooso row is renamed to E-YOOSO.
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
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