Reverse-engineered Daydream and GearVR Controller Protocols and Hardware!
- Snapping out of a Daydream
- My account of the journey I went through while reverse-engineering the Daydream Controller's Firmware and Hardware!
- A brief peek inside GearVR's Controller
- A less-thorough but still-fruitful expedition through Samsung's GearVR Controller.
Detailed descriptions of controller hardware, Bluetooth packet types and contents, and other firmware oddities.
daydream-catcher- Parsing Daydream and GearVR controller packets.
- Parsing and generating Daydream MTP Serial packets.
no_stdandno_alloccompatible!
daydream-airmouse- WIP Crate for generating mouse movement commands based on the IMU + touchpad + button inputs of the Daydream/GearVR controllers.
no_stdandno_alloccompatible!
daydream-airmouse-uinput- Linux-only uinput-enabled client for controlling the mouse via
daydream-airmouse. - Primarily a testbed to speed up development, not intended for daily use.
- Linux-only uinput-enabled client for controlling the mouse via
daydream-airmouse-esp- WIP ESP32-S3 firmware to connect to Daydream/GearVR controllers and output mouse/keyboard events over native USB HID.
- Very early (non-functional ATM), ironing out BLE connection issues with the still-blossoming esp-rs toolchain.
- Uses
no_std.
gamepad-motion-helpers- A from-scratch native Rust port of Jibb Smart's original C++ GamepadMotionHelpers.
- Tests compare against the original library via
gamepad_motion! no_stdandno_alloccompatible!
- MuffinTastic for their encouragment, assistance, and knowledge.
dekufor making working with bitfields a pleasure rather than a pain.- ImHex for being excellent overall, especially with it's support for visualizing patterns.


