Star on GitHubStar2.4k stars

Case study

castty: reconstructing Mionix Castor control on Linux

castty reconstructs configuration of the Mionix Castor mouse on Linux from captured HID feature reports. Its protocol notes describe command report 0x60, profile report 0x61, readback, and field offsets; the Rust GUI and CLI use those findings for lighting, DPI, buttons, macros, and profiles.

Targets
Protocol
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed
Evidence class
C1 partial scope or analysis entry
Stars
2
Last commit
2026-09-17
Language
Rust
License (GitHub)
GPL-3.0

GitHub data as of 2026-11-10

Copy as MarkdownView JSONCite

Evidence

Demo screenshot from the project's public documentation
Observed
Download and demo observed; the case covers part of the target software.
Scope
Partial
Checked
2026-11-08

How evidence classes are assigned

Requirements & limits

  • Prerequisites: A Mionix Castor with USB ID 22d4:1316 and Linux hidraw are required.
  • Limits: The Castor PRO is a different device and is unsupported.
  • License: GPL-3.0.

Cite

BibTeX

@misc{castty-mionix-castor-case,
  title = {{castty: reconstructing Mionix Castor control on Linux}},
  howpublished = {\url{https://github.com/fawaz7/castty}},
  url = {https://github.com/fawaz7/castty},
  urldate = {2026-11-06},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/castty-mionix-castor-case/}}
}

Plain text

castty: reconstructing Mionix Castor control on Linux. https://github.com/fawaz7/castty (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/castty-mionix-castor-case/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. research/PROTOCOL.md GitHub · fawaz7/castty · Revision ac12436
  2. README.md GitHub · fawaz7/castty · Revision ac12436

More in Protocols

All 720 entries in ProtocolsProtocols case studies (645)

↑↓ move↵ open⌘↵ new tab