{"id":30224474,"url":"https://github.com/krishbharadwaj5678/virtualmouse","last_synced_at":"2026-04-11T08:05:14.298Z","repository":{"id":295583736,"uuid":"990508801","full_name":"KrishBharadwaj5678/VirtualMouse","owner":"KrishBharadwaj5678","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-26T10:15:01.000Z","size":8944,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-26T10:42:49.816Z","etag":null,"topics":["computer-vision","cv2","cvzone","hand-tracking","mouse","numpy","opencv","python","threading","time","virtual-mouse"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KrishBharadwaj5678.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-26T08:14:36.000Z","updated_at":"2025-05-26T10:15:05.000Z","dependencies_parsed_at":"2025-05-26T10:42:55.828Z","dependency_job_id":"df3af075-79ba-4b50-82e2-e55216932b16","html_url":"https://github.com/KrishBharadwaj5678/VirtualMouse","commit_stats":null,"previous_names":["krishbharadwaj5678/virtualmouse"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KrishBharadwaj5678/VirtualMouse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KrishBharadwaj5678%2FVirtualMouse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KrishBharadwaj5678%2FVirtualMouse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KrishBharadwaj5678%2FVirtualMouse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KrishBharadwaj5678%2FVirtualMouse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KrishBharadwaj5678","download_url":"https://codeload.github.com/KrishBharadwaj5678/VirtualMouse/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KrishBharadwaj5678%2FVirtualMouse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270429373,"owners_count":24582117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","cv2","cvzone","hand-tracking","mouse","numpy","opencv","python","threading","time","virtual-mouse"],"created_at":"2025-08-14T13:36:15.745Z","updated_at":"2026-04-11T08:05:14.293Z","avatar_url":"https://github.com/KrishBharadwaj5678.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🖱️ Virtual Mouse\n\nWelcome to the **Virtual Mouse**! This tool lets you control your computer's mouse using **hand gestures**  captured via your **webcam**. 🎥\n\n![Virtual Mouse](https://github.com/KrishBharadwaj5678/VirtualMouse/raw/main/VirtualMouseDemo.gif)\n\n## 🚀 Features\n\n| Feature 🧩                    | Description 📋                                                                       |\n| ----------------------------- | ------------------------------------------------------------------------------------ |\n| 🖐️ Hand Gesture Control      | Use your hand to move the mouse pointer in real time.                                 |\n| 🖱️ Click Actions             | **Left**, **right**, and **double** click with fingers gestures.                      |\n| 🧭 Scroll Up / Down           | Scroll through pages using finger movements.                                         |\n| 🎯 Cursor Movement            | Smoothly move the mouse cursor based on hand position.                               |\n| 🔄 Real time Tracking         | Fast and responsive tracking using **OpenCV** and **MediaPipe**.                     |\n| 🔍 Gesture Recognition        | Detect specific finger configurations for different commands.                        |\n| 🧰 Easy Setup \u0026 Customization | Simple to install, run, and tweak gesture mappings.                                  |\n| 🧑‍💻 Python Powered             | Entirely built using Python and open source libraries.                               |\n| 📷 Webcam Integration         | Uses your computer's webcam.                                                          |\n\n---\n\n## 🛠️ Tech Stack\n\n| Technology ⚙️ | Purpose 📋                          |\n| ------------- | ----------------------------------- |\n| 🐍 Python 3   | Core programming language           |\n| 🎥 OpenCV     | Video capture and image processing  |\n| ✋ MediaPipe   | Hand tracking and gesture detection |\n| 🖱️ PyAutoGUI | Simulate mouse actions              |\n| 📦 NumPy      | Efficient numerical operations      |\n\n---\n\n## 💻 How It Works\n\n1. 🎥 **Capture video** from the webcam in real time.\n2. ✋ **Detect hand landmarks** using **MediaPipe**.\n3. 🖱️ **Index finger tip** controls the cursor position on the screen.\n\n### ✋ Gesture Based Mouse Actions\n\n| Gesture 👋              | Fingers State 🖐️                   | Distance Condition 📏  | \n| ----------------------- | ----------------------------------- | ---------------------- |\n| **Left Click**          | Index ✅, Middle ✅, Pinky ❌          | Index ↔️ Middle \u003c 25px |\n| **Right Click**         | Index ✅, Middle ✅, Pinky ✅          | Index ↔️ Middle \u003c 25px |\n| **Scroll Down**         | Index ✅, Middle ✅, Pinky ❌, Thumb ✅ | Index ↔️ Middle \u003c 25px |\n| **Scroll Up**           | Index ✅, Middle ✅, Pinky ✅, Thumb ✅ | Index ↔️ Middle \u003c 25px |\n| **Double Click**        | Index ✅, Middle ❌, Pinky ❌, Thumb ✅ | _Not Required_ |\n\n* ✅ = **Finger Up**\n* ❌ = **Finger Down**\n* ↔️ = **Distance between fingertips**\n\n---\n\n## 📦 Installation\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/KrishBharadwaj5678/VirtualMouse.git\n   ```\n\n2. **Navigate into the project directory**\n\n   ```bash\n   cd VirtualMouse\n   ```\n\n3. **Install the required dependencies**\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. **Start the application**\n\n   ```bash\n   python app.py\n   ```\n---\n\n## Contributing 🤝\n\nWant to contribute? Here's how:\n\n1. 🍴 Fork the repository.\n2. 🌿 Create a new branch (`git checkout -b feature-name`).\n3. ✍️ Make your changes and commit them (`git commit -am 'Add feature-name'`).\n4. 🚀 Push to your branch (`git push origin feature-name`).\n5. 🔄 Submit a pull request to merge into the main branch.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrishbharadwaj5678%2Fvirtualmouse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrishbharadwaj5678%2Fvirtualmouse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrishbharadwaj5678%2Fvirtualmouse/lists"}