Skip to content

Repository files navigation

PowerMouse

A versatile hands-free mouse.
Move the cursor with your head. Click with gestures, dwell, or your voice — or any combination of the three.

Download the latest release Python 3.12+ License: Apache-2.0

PowerMouse uses face detection technology to let you control the mouse cursor on your computer without your hands. It is built for people with physical disabilities that make using a standard mouse difficult — but every input method is optional and composable, so you can shape it to your needs:

  • Use face tracking to move the cursor and click hands-free.
  • Or turn face tracking off and use PowerMouse for clicking alone, alongside any pointing device you already use.

Key Features

Feature Description Status
Cursor Movement Move the mouse cursor on the screen with head movement. Optional and per-profile — turn it off to use PowerMouse for clicking alone. Implemented
Gesture Clicking Perform different mouse clicks with a variety of facial gestures. Implemented
Dwell Clicking Perform clicks by letting the cursor dwell on a position for a short moment, with a floating on-screen palette to pick the click type. Implemented
Voice Clicking Use voice commands to perform different mouse clicks, holds, and releases. Implemented
Profiles Save tracking, clicking, camera, and microphone settings per person or per situation, persisted between sessions. Implemented
Camera Recovery If the camera disconnects, clicking keeps working while a recovery panel helps you pick a new camera. Implemented

The UI at a Glance

🪟 Main Window

  • Profiles panel — create, activate, and delete per-user profiles.
  • Camera panel — pick a camera and watch a live preview of what the tracker sees.
  • Tracking tab — toggle face tracking on/off and tune speed, acceleration, sensitivity, smoothness, deadzone, and active area. Controls grey out while tracking is off.
  • Clicking tab — enable any mix of gesture, voice, and dwell clicking, choose a microphone, and tune dwell time, radius, palette opacity, and orientation.
  • Save / Revert — settings changes apply live and persist only when you save.

🎛️ Floating Dwell Palette

A small translucent palette that stays on top of every window. Rest the cursor on a button to arm it, then dwell anywhere on screen to fire it.

grip — dwell to pick up & move
🖱️ Left Click
🖱️🖱️ Double Click
🖱️ Right Click
🖱️ Middle Click
✊ Drag (toggle)
⏸ Pause Dwell
↔ Flip Layout

Everything on the palette is operated by dwelling — no clicks required, ever.

Clicking Without Tracking

Face tracking is on by default, but it is a per-profile setting like everything else. Turn it off in the Tracking tab and:

  • The cursor is yours — move it with a trackpad, joystick, eye tracker, or any other device.
  • Dwell, voice, and gesture clicking all act at the real cursor position.
  • Dwell and voice clicking keep working even if no camera is available.

Apple Voice Control

PowerMouse uses DearPyGui for its interface. DearPyGui renders controls through a GPU surface, so macOS Voice Control may not show numbered labels for buttons, sliders, and tabs the way it does for native AppKit controls.

For better Voice Control support on macOS, PowerMouse provides keyboard shortcuts for common actions. You can say the built-in Voice Control phrase directly, or create custom Voice Control commands that press these shortcuts.

PowerMouse action Keyboard shortcut Voice Control phrase
New profile Command-N “Press Command N”
Save settings Command-S “Press Command S”
Revert settings Command-R “Press Command R”
Refresh cameras Command-Shift-R “Press Command Shift R”
Set selected profile active Command-Return “Press Command Return”
Delete selected profile Command-Delete “Press Command Delete”
Show Tracking settings Command-1 “Press Command 1”
Show Clicking settings Command-2 “Press Command 2”
Suggested custom Voice Control commands
Say this Perform this shortcut
“New PowerMouse profile” Command-N
“Save PowerMouse settings” Command-S
“Revert PowerMouse settings” Command-R
“Refresh PowerMouse cameras” Command-Shift-R
“Use selected PowerMouse profile” Command-Return
“Delete PowerMouse profile” Command-Delete
“PowerMouse tracking settings” Command-1
“PowerMouse clicking settings” Command-2

About

PowerMouse is a versatile hands-free mouse that uses face detection technology to enable a user to control the mouse cursor on their computer.

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages