Dashboard

Monitor and control your gesture recognition engine in real time.

--
Gestures
--
FPS
--
Status

Install GestureV

v1.0.2

Copy the commands below into Command Prompt to install.

winget install Git.Git --accept-source-agreements --accept-package-agreements --silent winget install Python.Python.3.12 --accept-source-agreements --accept-package-agreements --silent powershell -Command "$env:Path = [System.Environment]::GetEnvironmentVariable('Path','Machine') + ';' + [System.Environment]::GetEnvironmentVariable('Path','User')" git clone https://github.com/SuperduperCoders/GestureV.git "%USERPROFILE%\GestureV" cd "%USERPROFILE%\GestureV" python -m venv .venv .venv\Scripts\pip install -r requirements.txt .venv\Scripts\python controller.py
Open Command Prompt, paste all commands, and press Enter. If Python is not found after installing, close and reopen Command Prompt, then run only the last 5 commands.

System Performance

~
CPU0%
Memory0 MB
FPS0
Uptime0m

Quick Settings

*

Quick Actions

~

Supported Gestures

Live Activity

Waiting for gesture events...

Keyboard Shortcuts

1-4 Switch pages
Esc Go to Dashboard
🔍 Ctrl+K Command Palette
In video: q Quit controller

Quick Gesture Reference

👆 Point Move mouse
🤏 Pinch Left click
Open Palm Mouse ON
Fist Mouse OFF
👍 Thumbs Up Enter
😊 Smile Space
All Gestures

Every gesture GestureV can recognize. Edit bindings

Bindings

Assign actions to each gesture. Your changes are saved immediately.

Help & Guide

Everything you need to know about GestureV — from setup to advanced customization.

Quick Start
1
Install Python & GitRun the install commands from the Dashboard, or install Python 3.12+ and Git manually.
2
Clone & install dependenciesOpen Command Prompt, paste the install commands from the Dashboard. This clones the repo, creates a virtual environment, and installs all packages.
3
Launch the controllerRun .venv\Scripts\python controller.py or double-click GestureV.bat. A calibration screen will appear — look straight at the camera for ~2 seconds.
4
Start making gesturesPoint your index finger to move the mouse. Pinch to click. Use hand gestures and facial expressions to trigger actions. A green dot in the top-left means mouse control is active.
5
Press q in the video window to quitThe controller window will close and all gesture detection stops.
Startup Calibration
!
The controller needs to learn your neutral face before startingDuring calibration, a circular progress bar appears. Look straight at the camera with a relaxed face. The system measures your default eyebrow position. Calibration takes about 2 seconds. If it times out after 8 seconds, a default value is used. Poor calibration = poor face gesture detection.
Mouse Control
> Point Move cursor
Pinch Left click
Open Palm Mouse ON
Fist Mouse OFF
🔎 Point + Pinch Drag
Two Fingers Scroll
Hand Gestures
👈 Swipe L/R/U/D Arrow keys
👍 Thumbs Up Enter
Peace Sign Screenshot
🤦 Rock On Play/Pause
🤓 Thumb + Pinky Volume
👏 Clap YouTube
Facial Gestures
😊 Smile Space
👀 Wink Left Left arrow
👀 Wink Right Right arrow
🙌 Eyebrow Raise Down arrow
👍 Head Nod Enter
👎 Head Shake Escape
Customizing Bindings
1
Go to the Bindings page from the sidebarYou can also edit gesture_bindings.json directly in the project folder.
2
Choose a binding typeAvailable types: key (single key), hotkey (key combo like ctrl+alt+s), url (open a website), type (type text), or app (launch an application).
3
Set the action valueFor key: key name (e.g. space, enter). For hotkey: combo (e.g. ctrl+alt+s). For url: full URL. For app: app path or name.
4
Toggle gestures on/offUse the toggle switch to enable or disable any gesture without deleting its binding.
5
Save — changes apply immediatelyThe controller reloads bindings automatically. No restart needed.
Keyboard Shortcuts
1 / 2 / 3 / 4 Switch pages
Esc Back to Dashboard
🔍 / or Ctrl+K Search gestures
Troubleshooting
!
Mouse moves erratically or jumpsImprove lighting, face the camera directly, and ensure your hand is clearly visible. Try enabling Cursor Smoothing in Quick Settings to reduce jitter.
!
Face gestures not detectingMake sure Face Detection is enabled in Quick Settings. Check that your face is well-lit and centered. Re-calibrate by restarting the controller.
!
"Python was not found" after installingAfter winget installs Python, the current terminal session doesn't see it yet. Close Command Prompt and reopen it, then run only the last 5 commands (from git clone onwards). The commands on the Dashboard already include a PATH refresh command to handle this automatically.
!
Controller won't startCheck that Python 3.12+ is installed and in your PATH. Make sure you've activated the venv (.venv\Scripts\activate) and installed requirements (pip install -r requirements.txt). Check controller.log for errors.
!
Camera not foundEnsure your webcam is connected and not in use by another app. Check Windows Privacy Settings → Camera → allow desktop apps to access your camera.
!
Gestures are delayedClose other applications using the camera or heavy CPU. Reduce the camera resolution in config.py. Check the FPS counter on the Dashboard — aim for 30+ FPS.
Frequently Asked Questions
Q
Does GestureV work on Mac or Linux?Currently, GestureV is Windows-only. It uses pyautogui and Win32 APIs for mouse/keyboard control. Linux support is planned for a future release.
Q
Is my webcam data sent anywhere?No. All processing happens locally on your machine. Nothing is uploaded, streamed, or stored. GestureV runs 100% offline.
Q
Can I use GestureV without a webcam?No. GestureV requires a webcam to detect hand and facial gestures. Any standard USB webcam works.
Q
How do I update GestureV?Pull the latest changes with git pull in the project folder, then re-run pip install -r requirements.txt in case new dependencies were added.
Q
Can I run the tracker in a browser instead?Yes! Run python dashboard.py and open the dashboard. The browser-based tracker uses MediaPipe JS and sends commands to the Python agent.
Tips for Best Results
Good lighting Face a light source
👤 Center yourself Face the camera directly
🏡 Clear background Less clutter behind you
Hold gestures Steady for ~0.5s
📷 Clean lens Wipe your camera
💻 Close background apps Free up CPU & camera
Still Need Help?

Check controller.log for debugging info. Join our community or open an issue on GitHub.

Report Issue GitHub