Case study
KeyAxis: decoding a magnetic keyboard's analog HID stream
KeyAxis documents the HID travel stream of keyboards using the 0416:7372 controller and turns key depth into virtual gamepad axes. Its protocol notes specify the vendor interface, ARM and DISARM commands, 64-byte host reports and row, column and depth fields recovered from captured traffic.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: A keyboard exposing USB ID 0416:7372 and Windows 10/11 x64 are required; gamepad output needs ViGEmBus.
- Prerequisites: Running from source requires Python 3.9 or later.
- Limits: The on-screen layout covers 68 keys; vJoy output is planned.
- License: MIT license.
About this entry
The description was reviewed against primary sources.
Primary sources
- PROTOCOL.md GitHub · RigZeeel/KeyAxis · Revision 53a7e1b
- README.md GitHub · RigZeeel/KeyAxis · Revision 53a7e1b
More in Protocols
- A.O. Smith water heater: local CTA-2045 control and protocol findings · Case study
- j2208-band-tools: a direct client for the J2208 fitness-band protocol · Case study
- Eufy Local Light: reconstructing BLE control for E10 and E22 lights · Case study
- OpenPeats: reconstructing SoundPEATS earbud controls · Case study
- hongtai-panel: reconstructing a cooler LCD's USB serial protocol · Case study
- ESPHome ↔ L&S Emotion Control: reconstructing a smart-light radio client · Case study