How sam-garg/neodrive works
NeoDrive translates live hand and foot movements into keyboard input for driving simulations. The documented primary workflow runs main.py: it reads separate camera feeds, detects hand gestures for steering and gears and foot movement for braking and acceleration, then sends key presses through keyinput.py to the game. steering.py is a second, distinct runtime implementation that delegates pedal recognition to pedals.py. The excerpts show both implementations, but do not establish whether one supersedes the other; the graph keeps them separate.
Main entry points: steering.py Alternate controller · keyinput.py Key simulation · main.py Primary controller · pedals.py Foot detector
Components 7
Control runtimes
- Primary controller
main.py - Alternate controller
steering.py
Gesture perception
- Foot detector
pedals.py
Keyboard output
- Key simulation
keyinput.py
Other components
- Driver
- Dual cameras
- Driving game
Connections 8
- Driver → Dual cameras: moves before
README.md - Dual cameras → Primary controller: video frames
main.py - Primary controller → Key simulation: sends key events
main.py - Dual cameras → Alternate controller: video frames
steering.py - Alternate controller → Foot detector: detects gestures
steering.py - Foot detector → Alternate controller: returns gesture
steering.py - Alternate controller → Key simulation: sends key events
steering.py - Key simulation → Driving game: simulates keys
keyinput.py