explaingit

tarikurrahmanbd/control_pc_using_hand-gesture-main

Analysis updated 2026-05-18

20PythonAudience · vibe coderComplexity · 3/5Setup · moderate

TLDR

A webcam-based hand gesture system that controls your PC's mouse cursor, clicking, and scrolling using OpenCV and MediaPipe hand tracking.

Mindmap

mindmap
  root((Hand Gesture PC Control))
    What it does
      Move cursor with finger
      Pinch to click
      Peace sign scrolls
      Fist pauses control
    Tech stack
      Python
      OpenCV
      MediaPipe
    Use cases
      Touchless mouse control
      Accessibility experiments
      Portfolio demo project
    Audience
      Vibe coders
      Python hobbyists
      Accessibility tinkerers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Control your mouse cursor, clicks, and scrolling hands-free using a webcam.

USE CASE 2

Study the modular gesture_v3 package as a template for a computer vision control project.

USE CASE 3

Adjust config.py settings to tune scroll speed, click cooldown, and cursor smoothing.

USE CASE 4

Extend the gesture set with new hand patterns for additional PC actions.

What is it built with?

PythonOpenCVMediaPipe

How does it compare?

tarikurrahmanbd/control_pc_using_hand-gesture-maina-shojaei/constructdrawingaialex72-py/aria-termux
Stars202020
LanguagePythonPythonPython
Setup difficultymoderatemoderatemoderate
Complexity3/54/52/5
Audiencevibe coderdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a webcam and downloading a separate MediaPipe hand landmarker model file.

No license information is stated in the README, so terms of use are unclear.

In plain English

This project lets you control your computer's mouse using hand gestures picked up by a webcam, no extra hardware needed beyond the camera. It is built in Python using OpenCV for video handling and MediaPipe for detecting hand landmarks, and this is version 3, which reorganizes the code into a clean set of modules. The system understands a handful of specific hand shapes. Raising only your index finger moves the cursor to follow your fingertip. Pinching your thumb and index finger together, and holding the pinch for a quarter of a second, triggers a left click, while pinching thumb and middle finger triggers a right click. Raising your index and middle fingers together, like a peace sign, switches into scroll mode, where moving your hand up or down scrolls the page in that direction. Making a closed fist pauses all control instantly, turning the screen border red as a visual warning, and pressing Q on the keyboard shuts the whole program down as a safety measure. Beyond gesture recognition, the project adds cursor inertia and acceleration so the pointer feels closer to a normal mouse instead of jumping around, along with filtering to smooth out the natural shake of a hand held in front of a webcam. It also automatically pauses itself if it loses track of your hand or if the frame rate drops too low, and it uses short cooldowns and pattern checks to avoid triggering clicks by accident. An on-screen overlay shows the current mode, frame rate, and detected gesture while you use it. To run it, you need Python 3.8 or newer and a webcam. You install the dependencies from requirements.txt, download a MediaPipe hand landmarker model file (a link is provided, or you can fetch it with a PowerShell command), and then run main.py. A few settings like scroll speed, cooldown timing, and cursor smoothing can be adjusted in config.py. The author describes it as a project built for portfolio purposes, with voice control and an air-typing keyboard listed as possible future additions.

Copy-paste prompts

Prompt 1
Help me install the dependencies and download the MediaPipe model for this hand gesture project.
Prompt 2
Explain how the pinch-to-click detection works in this repo's intent classifier.
Prompt 3
Add a new hand gesture pattern to control a different system action.
Prompt 4
Walk me through tuning config.py to make cursor movement smoother.
Prompt 5
Adapt this project's mouse physics module for use in a different Python app.

Frequently asked questions

What is control_pc_using_hand-gesture-main?

A webcam-based hand gesture system that controls your PC's mouse cursor, clicking, and scrolling using OpenCV and MediaPipe hand tracking.

What language is control_pc_using_hand-gesture-main written in?

Mainly Python. The stack also includes Python, OpenCV, MediaPipe.

What license does control_pc_using_hand-gesture-main use?

No license information is stated in the README, so terms of use are unclear.

How hard is control_pc_using_hand-gesture-main to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is control_pc_using_hand-gesture-main for?

Mainly vibe coder.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.