I’ve been reverse-engineering the HID protocol of an Attack Shark X6 gaming mouse (no official Linux support) using Ghidra and USB captures, and building a native Linux desktop app around it in Go + Wails, with a React frontend.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.