Linux USB HID Interfacing in Userspace
summary
Builds a userspace driver in Rust using mio that reads the hidraw device and a UDP OSC socket and emits MIDI and OSC; reconstructs LED and screen commands by fuzzing and by sniffing USB via usbmon and Wireshark from a Windows VM; decodes button bitmaps with an XOR plus trailing-zero loop, filters pressure pads to implement threshold and aftertouch, keeps only one unsafe block, and hits a 15–25 ms added latency when upgrading mio that forces further investigation.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 4:05Reverse Engineer
- 7:22Wireshark
- 8:56Driver
- 12:38Program
- 14:48Unsafe Code
- 15:33Latency
- 18:47Questions
related talks
22mTackling challenges with HID and related device driver support in Rust
35mI'm Afraid Your Browser Has Been Talking to the Robots Again - A Gentle Intro to WebUSB
32mI'm afraid your browser has been talking to the robots again a gentle intro to WebUSB
45mUSB Support in Zephyr OS
35mExploring Webusb and its Exciting Potential
10mPut Rust in your keyboard
21mChips don't bite! An introduction to µController programming for Rusteaceans
04mWebUSB for Digital Artists
