Skip to main content

Air Steering - Gesture-Controlled Racing Game Controller

  • March 19, 2026
  • 2 replies
  • 15 views

Hi all,

One more fun project :

Sharing a project I built using the Metis AIPU and Voyager SDK — a gesture-controlled racing game controller that uses hand tracking to play any keyboard-based racing game.

How it works:

  • YOLO11n-pose-hands runs on Metis for real-time 21-keypoint hand detection
  • Two hands detected = steering wheel mode — the tilt angle between your wrists controls steering direction
  • Per-hand gesture recognition on CPU: fist = accelerate, open palm = brake
  • Keyboard inputs are simulated via pynput, so it works with any game that uses arrow keys or WASD

 

Pipeline setup:

  • Used the hand-keypoints.yaml pipeline config with DecodeHandPose custom postprocessor extending DecodeYoloPose for 21 hand keypoints instead of the default 17 COCO body keypoints
  • Gesture classification from keypoint geometry (finger extension/curl ratios relative to wrist)
  • EMA smoothing + 15° deadzone on steering to prevent jitter

2 replies

Spanner
Axelera Team
Forum|alt.badge.img+3
  • Axelera Team
  • March 19, 2026

Love this! I wonder if this could work in a more analogue way, too? Holding an actual wheel or something, like that (not outstanding) Wii peripheral that held the controller? I don’t know how you’d handle breaking then, though, as that’s an excellent gesture to expand on the controls.

This could be great for something like GTA, too. Using the joypad as normal when running, then turning the joypad vertically and using it like a steering wheel when you’re in a vehicle!


  • Author
  • Ensign
  • March 19, 2026

if we have a peripheral as a controller, we dont need this ;) 
The idea was to give the experience of a controller without an actual device. For the gestures, i think finetuning will work to enable few simple gestures - one finger up - break etc.

I did try holding a disc lid from a basket and it gets a bit tricky as it hides the palms and wrists partially. could be better for a ring type object.