Skip to main content

Modes

Overview

The Gesture Control System supports multiple operational modes to adapt to different use cases, environments, and user preferences. Each mode configures the system's behavior, sensitivity, and available gestures.

All Modes

Mode Types

Browser Mode

Browser Mode

  • Cursor control with Open Palm
  • Pinch to click/drag
  • Two-finger scroll gesture for vertical scrolling

Media Player Mode

Media Player Mode

  • Play/Pause with Open Palm
  • Next/Previous with thumb gestures
  • Volume up/down via pinch spread or VolumeController

Presentation (PPT) Mode

PPT Mode

  • Point Right/Left to navigate slides
  • Open Palm to start/stop slideshow

Racing (Game) Mode

Racing Mode

  • Right-hand open palm steers inside a steering box (see Game Controller)
  • Left-hand gestures trigger actions (e.g., nitro)

Volume Control Mode

Volume Control Example

How modes are implemented

  • application_modes.py: ApplicationModeManager reads self.app_modes.current_mode and routes gestures.
  • game_controller.py: Optional, activated when game mode is enabled; maps right-hand position to steering and keys.
  • volume_controller.py: Used in media/volume modes for system volume control with graceful fallback.

Switching modes

  • The GUI exposes a mode switcher. Switching calls into the engine/ApplicationModeManager to update current_mode.
  • A cooldown may apply in code to prevent rapid toggling.