hand-mouse-extension

HandMouse is a browser extension that lets you move the mouse cursor with hand gestures. Perfect for people with mobility issues, it uses your computer's camera to track your hand movements and translate them into mouse movements. Customize the sensitivity to your liking. Compatible with Google Chrome

https://github.com/daguje/hand-mouse-extension

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

HandMouse is a browser extension that lets you move the mouse cursor with hand gestures. Perfect for people with mobility issues, it uses your computer's camera to track your hand movements and translate them into mouse movements. Customize the sensitivity to your liking. Compatible with Google Chrome

Basic Info
  • Host: GitHub
  • Owner: Daguje
  • License: mit
  • Language: TypeScript
  • Default Branch: master
  • Size: 9.72 MB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Hand Mouse Extension

Hand Mouse is a browser extension that allows the user to controll its mouse using only hand gestures. This project was develop by Computer Engineers Daniel Gustavo Favero, Gustavo Alexandre and Jeferson Rosa de Souza.

The main actions that can be performed within web pages are:

  • Move the mouse
  • Click elements of a page
  • Scroll Up
  • Scroll Down
  • Forward a page
  • Backward a page
  • Auto Scroll (also known as Free Move)

Table of Contents

How to install

Install as a developer

Requirements:

  • yarn v1.22.2
  • npm v10.9.0
  • node v22.12.0
  1. Clone the git repository:

bash git clone git@github.com:Daguje/hand-mouse-extension.git

  1. Change to the project's directory

bash cd hand-mouse-extension

  1. Install the project's dependencies

bash yarn

  1. Build de extension

bash yarn build

This will generate a dist folder in the project's root

  1. Import the dist folder into the browser. It will depend on the browser you're using.

How to use

The Hand Mouse Extension comes with the major features

1. Mouse Controll

After installing Hand Mouse, open a new tab in the browser, a dialog message asking for camera permissions should appear, upon agreeing, a new toast message should appear informing the initialization of the Hand Mouse. With a success start, the Hand Mouse is up and running.

Once the extension detects a hand from the webcam's / camera's image, one of the following mouse drawings should appear:

Hand Mouse Cursors

This drawings represent these different actions on the page:

  1. Move the mouse;
  2. Click elements of a page;
  3. Scroll Up;
  4. Scroll Down;
  5. Forward a page;
  6. Backward a page;
  7. Auto Scroll.

After new tab creation / loading the extension restarts and load itself again

2. Hand Gesture Customization

Opening the extension pop up, some options can be performed

Hand Mouse Pop up

  1. Disable Hand Mouse;
  2. Turn off camera;
  3. Navigate to the gesture customization page.

Upon entering the gesture customization page, the list of mouse actions are displayed as follows:

Hand Mouse Customization Page

In this page the user can:

  1. Close the page;
  2. See the related action in the card's title;
  3. Preview gesture (an image of the user performing the gesture is displayed);
  4. Edit gesture;
  5. Save changes;

Once clicking in the edit button (5), a dialog is displayed as such:

Hand Mouse Customization Dialog Hand Mouse Customization Captures

The following actions can be performed once in the dialog:

  1. Close the dialog;
  2. Webcam preview;
  3. Begin captures;
  4. Pause captures;
  5. Save gesture
  6. See the current captures count;
  7. Select captures;
  8. Delete selected captures;

How to customize a gesture

Once in the edit gesture dialog, make sure the webcam preview is shown correctly, for good practice, think first of the action you want to perform in a web page, after that, click "Comear Capturas" and a sequence of 15 pictures will be taken, with a 2 seconds gap each, any time you want, you can pause and resume the capture sequence, as well as select and delete undesired captures. This process continues until the 15 captures were taken, only then you can click "Salvar gesto" and close the dialog.

The new gesture is only registred in the user's local storage upon clicking "Salvar" in the gesture edit page.

Contributing

Clone the git repository

bash git clone git@github.com:Daguje/hand-mouse-extension.git

Change directory

bash cd hand-mouse-extension

Install the required dependencies

bash yarn

Run the development server

bash yarn dev

This command will create a dist directory, wich should be uploaded into browser's extension manager page

Branch name conventions

For contributing with the project create a new git branch from the master branch using one of the following prefixes: - feature: for new features; - hotfix: fixing major bugs; - bugfix: fixing minor bugs.

Followed by a short title for the branch. For example:

bash git branch -b feature/new-feature

Commit conventions

The commit messages conventions follows the Conventional Commits pattern.

Owner

  • Name: Daguje
  • Login: Daguje
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Souza"
  given-names: "Jeferson"
  orcid: "https://orcid.org/0009-0005-2254-939X"
- family-names: "Favero"
  given-names: "Daniel"
  orcid: "https://orcid.org/0009-0008-0884-0289"
- family-names: "Nunes"
  given-names: "Gustavo"
  orcid: "https://orcid.org/0000-0000-0000-0000"
title: "Hand Mouse browser extension"
version: 0.1.0
doi: 10.5281/zenodo.8080440
date-released: 2023/06/26
url: "https://github.com/daguje/hand-mouse-extension"

GitHub Events

Total
  • Push event: 3
Last Year
  • Push event: 3