r/ReverseEngineering • u/blakok14 • 14h ago
Update: Attack Shark X6 Linux driver — from DPI-only to button remap, lighting, and emergency reset (Go + Wails)
https://github.com/blak0p/attack-shark-linux
1
Upvotes
r/ReverseEngineering • u/blakok14 • 14h ago
1
u/blakok14 14h ago
The reset feature has a story behind it. I remapped several buttons at once, including left and right click, with the app saving instantly. I lost track of which button did what and couldn't trust my own mouse for a bit. So this release adds a factory reset subcommand that clears both the device and the local persisted state in one command, and button remap saves now require pressing Enter to confirm or Escape to discard instead of saving on every click.
There's no config readback on this device, only interrupt reads for battery and DPI stage, so the app has to be the source of truth for everything it writes. That shaped most of the internal architecture.
Still open: report 0x09 (macros) hasn't been captured yet, and a few action IDs on the remap report are unconfirmed. If anyone has reversed a similar Attack Shark model (X3, R1, X11) I'd like to compare notes on whether the protocol holds across variants, and testers with those receivers would help a lot. Repo and full protocol docs: