The protocol itself is fairly advanced. DPI, RGB lighting, polling rate and button remapping are all documented at the protocol level. The app currently only exposes DPI configuration though, the rest is reverse-engineered but not yet wired into the UI.
One piece is still unsolved: the macro report isn’t captured yet, so there’s no macro editor. If you’ve done HID/USB reverse engineering before, I’d appreciate a hand there.
There’s also plenty of non-reversing work: building out the RGB/polling/remap screens in the frontend, implementing what’s already known in the Go backend, or testing on other Attack Shark models (X3, R1, X11) that likely share the same dongle and protocol.
Happy to answer questions about the protocol work or the architecture in the comments.