๐ฎ GestureMouse - Cursor Control
Transform your webcam into a natural input device. Control your mouse cursor, click, scroll, and zoom using intuitive hand gestures. No touch required.
GestureMouse is an open-source Windows application that replaces traditional mouse input with real-time hand gesture recognition. Using advanced computer vision and machine learning, your hand becomes your mouse. Point to move, pinch to click, and use multi-hand gestures for advanced interactions.
Current Status: Under active research and development.
| Gesture | Action | How to Perform |
|---|---|---|
| Index Finger Point | Move cursor | Keep index finger extended upward, other fingers folded. Move hand smoothly across camera. |
| Thumb + Index Pinch | Left Click | Bring thumb and index fingertips together. Quick release = click, hold + move = drag. |
| Thumb + Middle Pinch | Right Click | Bring thumb and middle fingertips together. Release quickly for right-click menu. |
| Index + Middle Pinch + Move | Scroll | Pinch index and middle fingers, move hand up to scroll up, down to scroll down. |
| Fist (All Fingers Closed) | Pause Control | Make a tight fist. Cursor freezes until hand opens. |
| Gesture | Action | How to Perform |
|---|---|---|
| Both Hands - Index Fingers Spread Apart | Zoom Out | Extend index fingers on both hands, move hands away from each other. |
| Both Hands - Index Fingers Bring Together | Zoom In | Extend index fingers on both hands, bring them closer together. |
How it works:
- Extend only your index finger pointing upward
- All other fingers should be relaxed or folded
- Move your hand naturally in front of camera
- Your cursor tracks your index fingertip in real-time
Tips for best results:
- Keep hand within camera frame
- Maintain steady movements to avoid jitter
- Good lighting helps accuracy
- Camera should be at chest height, 2-3 feet away
Single Click:
- Bring your thumb and index finger tips together (pinch)
- Touch and immediately release (< 0.5 seconds)
- Perfect for clicking buttons, links, and UI elements
Drag Operation:
- Bring thumb and index together (pinch)
- Hold the pinch (> 0.5 seconds) - drag begins
- Move your hand while maintaining the pinch
- Release pinch to drop the object
How to perform:
- Bring your thumb and middle finger tips together
- Release quickly (< 0.5 seconds)
- Context menu appears at cursor position
How to perform:
- Bring index and middle finger tips together (pinch)
- Move hand upward to scroll up
- Move hand downward to scroll down
- Release pinch to stop scrolling
Fist Gesture:
- Make a tight fist with all fingers folded
- Cursor immediately stops responding
- Open hand to resume control
Zoom Out:
- Extend index fingers on both hands
- Move hands away from each other
Zoom In:
- Extend index fingers on both hands
- Bring hands together
- OS: Windows 10 or later
- Camera: Any standard webcam
- RAM: Minimum 2GB
- Processor: Dual-core processor (2.4 GHz+)
- Lighting: Well-lit environment
- Download
GestureMouse.exefrom GitHub Releases - Double-click the file
- Click "Run anyway" if Windows security prompt appears
- Allow camera access when prompted
- Position your webcam 2-3 feet away at chest height
- Extend your index finger to move cursor
- Use pinch gestures to click, scroll, zoom
- Make a fist to pause control
From System Tray:
- Look for green circle icon (bottom-right corner)
- Right-click > Exit
From Task Manager:
- Press
Ctrl + Shift + Esc - Find "GestureMouse"
- Right-click > End task
From Command Line:
- Press
Windows Key + R - Type:
taskkill /IM GestureMouse.exe /F - Press Enter
git clone https://github.com/abhishekprajapatt/gesturemouse.git
cd gesturemousepython -m venv venv
venv\Scripts\activatepip install -r requirements.txtpython main.py- Edit files (main.py, etc.)
- Run
python main.pyto test - Verify gesture controls work
pip install pyinstaller
pyinstaller --onefile --windowed --name GestureMouse main.pyEXE will be in dist/GestureMouse.exe
- Go to GitHub repository
- Click Fork button
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/gesturemouse.git
cd gesturemousegit checkout -b feature/your-feature-nameEdit files and test with python main.py
git add .
git commit -m "Feature: Description of changes"
git push origin feature/your-feature-name- Go to GitHub repository
- Click Pull Request button
- Select your branch
- Add description of changes
- Submit PR
- Gesture recognition improvements
- Performance optimization
- Bug fixes
- Documentation improvements
- Testing and feedback
gesturemouse/
โโโ main.py # Main application
โโโ requirements.txt # Dependencies
โโโ README.md # This file
โโโ LICENSE # GPL-3.0 License
โโโ build_exe.bat # Build script
โโโ GestureMouse.spec # PyInstaller config
| Task | Command |
|---|---|
| Run application | python main.py |
| Install dependencies | pip install -r requirements.txt |
| Build EXE | pyinstaller --onefile --windowed --name GestureMouse main.py |
| Activate virtual env | venv\Scripts\activate |
| Deactivate virtual env | deactivate |
- Check Device Manager for camera
- Close other camera apps (Zoom, Teams)
- Go to Settings > Privacy & Security > Camera
- Enable camera access
- Improve lighting
- Keep hand steady
- Position 2-3 feet from camera
- Ensure hand is visible in camera
- Keep fingers separated
- Make deliberate pinch motions
System Tray: Right-click green icon > Exit
Task Manager: Ctrl + Shift + Esc > Find GestureMouse > End task
Command: taskkill /IM GestureMouse.exe /F
- Real-time hand detection
- Cursor movement with smooth tracking
- Left click and drag
- Right click gesture
- Scroll (up/down)
- Dual-hand zoom
- Pause control (fist)
- System tray integration
- Gesture sensitivity customization
- Settings interface
- Gesture recording
- Cross-platform support (macOS, Linux)
- Voice command integration
- Macro recording
- Python 3.7+
- opencv-python
- mediapipe
- pyautogui
- pystray
- pillow
- screeninfo
- MediaPipe - Hand detection
- OpenCV - Computer vision
- PyAutoGUI - Mouse control
- PySTray - System tray
- Pillow - Image processing
- Tkinter - GUI
Made with ๐ for natural human-computer interaction
Disclaimer: GestureMouse is an ongoing research project. Use at your own risk in non-critical applications.