Skip to content

Add native Attack Shark X11 polling control - #5

Open
hyusband wants to merge 3 commits into
OpenMouse-Project:mainfrom
hyusband:feat/attack-shark-x11-native-polling
Open

hyusband wants to merge 3 commits into
OpenMouse-Project:mainfrom
hyusband:feat/attack-shark-x11-native-polling

Conversation

@hyusband

@hyusband hyusband commented Sep 8, 2026

Copy link
Copy Markdown

Summary

Adds native polling-rate control for the Attack Shark X11 family through OpenMouse Bridge, without replacing the normal Windows HID driver or requiring Zadig/WinUSB.

What changed

  • Adds a dedicated node-hid route for Attack Shark X11-family devices:
    • VID 0x1D57
    • PIDs 0xFA55, 0xFA60, and 0xFA61
    • interface 2 only
  • Supports the hardware-verified polling rates: 125, 250, 500, and 1000 Hz.
  • Exposes PUT /v1/native/settings so the frontend can request native-only settings through the local Bridge.
  • Reuses the same native helper for direct UI changes and automatic application profiles.
  • Keeps DPI explicitly unsupported until its six-stage protocol is captured and verified.
  • Includes the production CORS origin fix already proposed in fix: allow control.openmouse.app origin #4, which the frontend-to-Bridge flow requires.

Verification

  • Native helper tests: 4 passed.
  • Bridge tests: 15 passed; 2 hardware-dependent tests remain intentionally ignored.
  • Real Attack Shark X11 wireless receiver (1D57:FA60) verified:
    • Bridge API successfully applied 500 Hz.
    • Bridge API successfully restored 1000 Hz.
    • Device remained on the standard Windows HID driver.

The companion frontend integration is kept in a separate branch because it depends on frontend PR #221, which restores the frontend-to-Bridge handshake.

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.

1 participant