20 inputs. Unlimited commands. Total control.

12 facial gestures, 4 head directions, a hands-free Head Cursor with Dwell Click, Point Tracker, Gesture Chains, Morse Chains, and Xbox controller emulation. Here's everything FaceCommand can do.

Built for people with ALS, SMA (Spinal Muscular Atrophy), spinal cord injuries, cerebral palsy, muscular dystrophy, and anyone who needs hands-free control.

FaceCommand demo by its creator

Point, click and press buttons with your head

Use the mouse without your hands. The Head Cursor and Dwell Click run alongside your gestures, and the Buttons Overlay puts clickable keys on top of any app.

Head Cursor

Moves the mouse pointer with small head movements. It follows a small region of your face, just above the nose tip by default, that stays clear of your eyes, brows and lips, so blinks and other gestures don't nudge the pointer. Speed, Smooth, Accel and a Still zone let you tune it, and the speed adjusts to how far you sit from the camera.

Dwell Click

Rest the pointer for a moment to click. Choose left, right, double or middle click, how long to dwell, and how much movement still counts as resting. Turn it on and off hands-free by resting the pointer on its ring, or with any gesture.

Buttons Overlay

Clickable buttons that float on top of other apps. Each one sends a keyboard key (including F13 to F24) or a gamepad button, and holding the click holds the key down. The buttons never take focus, so input lands in the app underneath. Size, opacity and position are yours to set, and positions are saved with your profile.

12 Distinct Facial Gestures

Each gesture has its own configurable trigger threshold, sensitivity, and deadzone.

The 12 facial gestures, with notes on how each works and the trigger modes each supports.
Gesture Notes Trigger Modes
Eyebrow raise (both)Works independently from left and rightSingle press Hold Toggle Analog
Right eyebrow raiseIndependent from both-eyebrow raiseSingle press Hold Toggle Analog
Left eyebrow raiseIndependent from both-eyebrow raiseSingle press Hold Toggle Analog
Brow furrowDistinct from eyebrow raisesSingle press Hold Toggle Analog
Blink (both eyes)Both eyes simultaneouslySingle press Hold Toggle Analog
Wink rightIndependent right eyeSingle press Hold Toggle Analog
Wink leftIndependent left eyeSingle press Hold Toggle Analog
SmileFull smileSingle press Hold Toggle Analog
Open mouthJaw movementSingle press Hold Toggle Analog
PuckerLips forwardSingle press Hold Toggle Analog
Smirk rightRight-side smileSingle press Hold Toggle Analog
Smirk leftLeft-side smileSingle press Hold Toggle Analog

Head Look: 4 Directions

The four head-look directions and the function each triggers.
Direction Function
Look upTriggers assigned action when head tilts up past threshold
Look downTriggers assigned action when head tilts down past threshold
Look leftTriggers assigned action when head turns left past threshold
Look rightTriggers assigned action when head turns right past threshold

Point Tracker: 4-Axis Analog

Accurate X and Y axis analog control that works concurrently with all other gestures. Click any spot on your face in the camera preview and FaceCommand turns that point's movement into smooth, continuous output.

  • Compatible with all trigger action types
  • Works simultaneously alongside Gesture Chains and Morse Chains
  • Ideal for gaming: analog stick control without hardware
  • For mouse control, use the Head Cursor

Map any gesture to any action

Every gesture and every Chain can trigger virtually any computer action.

Key Presses & Macros

Single keys, keyboard shortcuts, or multi-key macros combining any number of key presses and mouse actions in sequence.

Mouse Functions

Left click, double click, right click, and scroll, all mappable to any gesture without touching the mouse.

Xbox Controller Emulation

Full Xbox controller button mapping including analog stick emulation and trigger emulation. Play games with your face.

System Commands

Command-line (CMD) commands and program launches. Map a gesture to open any app or run any script.

Display Text

Show custom text on screen with a gesture. Useful for quick communication, status messages, or visual feedback.

Send Emails

Trigger an email send with a gesture, with pre-configured recipient, subject, and body. Useful for quick check-ins, alerts, or one-tap requests for help.

Four ways to fire each gesture

Each gesture supports four trigger modes so you control exactly how and when it fires.

Single Press

One activation per gesture. Like tapping a key. Fires once each time the gesture is detected.

Hold

Action fires continuously while the gesture is held.

Toggle

First gesture activates, second deactivates. Like caps lock: the command stays on until you gesture again.

Analog

Continuous proportional output based on gesture intensity. Designed for Xbox controller emulation and the Point Tracker.

Combo moves for your face

Gesture Chains let you sequence multiple gestures to trigger a single command or macro, like combo moves in a fighting game.

  • โ†’ Expand available commands far beyond the base 12 gestures
  • โ†’ Eliminate accidental triggers of critical commands by requiring deliberate sequences
  • โ†’ Create context-specific control schemes for different applications

Example Gesture Chain

Raise both brows โ†’ Open mouth
= Launch browser (or any command you assign)

Any gesture combination. Any command. No accidental triggers.

Morse Chain Example: Smile gesture
โ†’ short ยท short ยท long = open browser
โ†’ short = left click
โ†’ long = right click
โ†’ short ยท long = alt+tab
Unlimited distinct commands from a single gesture.

Unlimited commands from a single gesture

Morse Chains use short and long holds of a single gesture to trigger an unlimited number of distinct commands. Like Morse code, but with your face.

This is especially powerful for users who can only reliably control one or two gestures. They still get access to a full command vocabulary.

Global Settings

System-wide controls that apply across all gestures, giving you precise calibration for your unique facial range of motion.

Hold Time for Trigger

How long a gesture must be held before it activates. Prevents micro-expressions from firing accidentally.

Cooldown

Minimum time between successive activations of the same gesture. Prevents rapid unintended repeat triggers.

Smoothing

Reduces noise and jitter in gesture detection. Especially useful for analog control and Point Tracker stability.

Automatic Tilt Compensation

Gestures are measured relative to your head, so they trigger the same at whatever angle you sit, and tilting, nodding or turning your head doesn't set them off. Always on, with nothing to set.

More control, your way

System Toggle

Any gesture or Chain can be set to turn the system on and off. Instantly pause and resume FaceCommand without touching your keyboard. Useful when switching tasks or taking breaks.

Profile Export & Import

Save and load complete gesture configurations. Share profiles with other users or switch between setups for different applications.

Modifier

Works like a Shift key for your face. While you hold the Modifier (a gesture, a keyboard key or chord, or a mouse button), the gestures, Point Tracker directions and mouse buttons you choose switch to different actions.

Key Switch

Turns keyboard keys, including switch interfaces that send keystrokes, into Xbox controller buttons. Each key can hold, toggle or tap its button, and the keystroke itself is blocked so the game sees only the controller. Works with the camera off.

What we're still improving

FaceCommand is actively in development. Here's what's working and what's still being refined. No sugar-coating.

  • Gestures that use the same facial muscles can still overlap slightly for some faces. Head movement no longer sets gestures off, and per-gesture thresholds and deadzones handle most remaining cases.
Even with a few gestures, full computer control is possible through Gesture Chains and Morse Chains.

Latest version: 1.5.6

What's new in the most recent FaceCommand release.

v1.5.6

Gamepad

  • + Added Anti-Deadzone (Anti-DZ) to the Point Tracker axes and to the gamepad axis panel on gesture cards. Some games apply a deadzone of their own that their Deadzone setting does not remove, so small head movements are ignored and steering then jumps. Anti-DZ starts any movement at a deflection you choose instead of at zero, so your smallest movement lands just under the game's threshold. Set it just below the point where the game first responds. On the Point Tracker, set D.Zone to 1 or 2% so the axis rests centered while Anti-DZ is on.
  • + Added Anti-Deadzone Up and Anti-Deadzone Down actions. Each press moves the Anti-DZ you adjusted last by 0.5%, so it can be tuned from inside the game.

Gestures

  • โœ“ Fixed winks not registering with your head turned toward the winking eye's side and your eyes on that side of the screen. The face tracking read the closed eye as partly open there. Winks in other directions are unchanged, and the fix works with or without Blink training.

v1.5.5

Head Cursor

  • โœ“ Rebuilt the head cursor's tracking. It follows quick moves more accurately, holds up better in dim light and on lower-resolution cameras, and keeps tracking when you sit farther from the camera.
  • โœ“ Changed Speed so it is now measured against the size of your face. The cursor moves the same distance for the same head movement whether you sit close to the camera or farther back.
  • โœ“ Replaced Threshold with Still zone. The cursor stays put while your head is still, even with a noisy camera, and slow, fine movements now arrive in full at any camera frame rate instead of being partly ignored.
  • โœ“ Note: Existing settings carry over. Speed is matched to your face size the first time the camera sees you, and a Threshold of 0 keeps the Still zone off.

v1.5.4

Icon and shortcuts

  • + Added the FaceCommand icon to the window, the taskbar and Alt+Tab. FaceCommand now shows on the taskbar as its own app instead of under Python, and the header logo matches the facecommand.net icon.
  • + Added Desktop and Start Menu shortcuts with the FaceCommand icon, created on first launch. To keep FaceCommand on the taskbar, pin the Start Menu shortcut. Running FaceCommand.bat /shortcuts recreates them.

Head Cursor

  • โœ“ Changed the tracking region to a small oval that tilts with your head and sits just above the nose tip by default. It always stays clear of the eyes, brows and lips, so blinks, brow raises and mouth gestures no longer nudge the cursor. A new Region slider sets its size, and the camera preview shows the oval and every point being tracked. A region you placed yourself is kept.
  • โœ“ Improved responsiveness: the cursor now moves as soon as each camera frame arrives, before face detection runs, so it responds with less delay.
  • โœ“ Improved Speed, Smooth and Accel, which have finer steps and a wider range.
  • โœ“ Fixed smoothing and acceleration so they now feel the same at any camera frame rate.

Gamepad

  • + Added Key Switch on the Modifier tab. It turns keyboard keys, including switch interfaces that send keystrokes, into virtual gamepad buttons. Each key can Hold, Toggle or Tap its button, and the keystroke itself is blocked so other apps see only the gamepad button. Key Switch works with the camera off, and keys sent by FaceCommand or other software pass straight through.
  • + Added LT and RT to the gamepad button list, everywhere a gamepad button can be chosen. They pull the trigger fully while pressed and release it when let go. Analog trigger control is still available under Gamepad Axis.

v1.5.3

  • + Added Profile Swap. Add your exported profiles to a rotation on the Settings page, then step through them with the arrows in the bottom bar or hands-free with the Swap Profile (next and previous) actions. A swap changes your bindings without restarting the camera or disconnecting the motion sensor, and can show the new profileโ€™s name on screen.
  • โœ“ Tilt compensation is now automatic. Gestures are measured relative to your head, so they work at whatever angle you sit, and tilting, nodding or turning your head no longer sets them off. The Tilt Compensation slider has been removed.
  • โœ“ Crosstalk between gestures has been minimized.

v1.5.2

Performance

  • โœ“ Fixed the frame rate collapsing while the window is minimized. FaceCommand now opts out of Windows 11 background throttling and holds 1 ms timer resolution.
  • โœ“ Moved input injection onto its own worker thread with load shedding, so a slow action (launching a program, sending email) can no longer stall gesture detection, and a backlog is dropped rather than replayed late.
  • โœ“ Moved cursor motion onto dedicated threads, so head-cursor and directional mouse movement stay smooth independently of frame delivery.
  • โœ“ Capped the camera preview at roughly 30 fps and repainted it separately from detection. Every delivered frame still runs the trigger path; only the picture yields.
  • โœ“ Smoothed landmarks with a One Euro filter. The live readings, mouse-remap and chain-progress scans now rebuild only when something actually changes, cutting per-frame work.

Stability

  • โœ“ Fixed unhandled exceptions disappearing with the window. Exceptions on any thread are now written to a crash file and shown in a dialog, and a single-instance guard keeps two copies from fighting over the camera.
  • โœ“ Tracked every injected key, mouse button and gamepad button and released them on exit, on disable and on error, so nothing can be left held down.
  • โœ“ Added camera self-recovery. The camera reopens itself (up to four attempts) after a dropout, and capture faults are reported once with repeats folded in rather than flooding the log.
  • + Added an in-app Debug Log capturing launch, camera and Bluetooth diagnostics, with Copy and Clear buttons and a rotating file mirror so a long sessionโ€™s earliest lines survive.
  • + Added warnings when FaceCommand is launched outside the bundled interpreter or without administrator rights, the two conditions that silently disable features.

Interface

  • โœ“ Reorganized the app into a tabbed workspace (Gestures, Chains, Point Tracker, Head Cursor, Dwell Click, Modifier, Motion, Buttons, plus Logs and Settings), so no module needs scrolling to reach. Each tab carries its moduleโ€™s color and lights a dot while that module is running.
  • โœ“ Kept a moduleโ€™s settings on screen when it is switched off, dimmed rather than hidden, so they can be read before deciding to turn it on.
  • + Added a sidebar cursor readout showing which pointing module is live, the cursor position and dwell progress. Live readings are filtered to enabled gestures, the last action is pinned, and the full history and diagnostics moved to the Logs tab.
  • โœ“ Collapsed zoom and pan and the camera settings into two buttons, freeing most of the sidebar.
  • + Added a text size control in the header (9โ€“24 px), saved with the profile.
  • โœ“ Enlarged sliders, step buttons and control labels throughout.
  • โœ“ Moved Dwell Clickโ€™s hands-free ring to a panel of its own. The Dwell Click tab is now a second dwell target charging the same timer.

Experimental

  • + Added initial support for the MbientLab MetaMotionS+ motion sensor over Bluetooth LE. Worn on a hat brim or headband, it adds six head-motion gestures (nod up and down, turn left and right, tilt left and right) plus the boardโ€™s own button, each with a full action card, running alongside the camera gestures rather than replacing them.
  • + Added per-axis learning from a short sweep, so mounting orientation does not matter, and axes can be flipped or re-centered at any time. Battery level, haptic feedback and a connection watchdog are included.
  • ! Still experimental: it needs the optional bleak library, supports one device, and auto-connect at launch is deliberately disabled while a mid-session dropout is investigated. The last device is remembered, so reconnecting is a single Connect click.

v1.5.1

  • โœ“ Fixed face tracking dropping in and out at steep head angles (for example, looking down toward an on-screen keyboard near the bottom of the screen, where partly closed eyes were misread as a lost face). The landmarker now runs in video tracking mode instead of detecting each frame independently, so brief eye occlusion or off-axis poses no longer cause flicker.
  • โœ“ Made all readings noticeably steadier and more accurate, since landmarks now refine from the previous frame rather than being re-solved cold each frame.

v1.5.0

  • + Added Buttons Overlay. When enabled it shows always-on-top, clickable buttons on top of other applications, each emitting a keyboard key (selected by pressing it, including F13โ€“F24) or a gamepad button (selected from a dropdown). Output is hold capable: a quick click taps, and holding the click holds the key or button down until release. Each button is repositioned by pressing and holding its bottom-right grip for one second, then dragging and releasing. The module has size and opacity sliders, and every button's position is saved per profile. The overlay windows are clickable but non-activating, so they never steal focus from the app underneath and the synthesized input lands wherever the user is pointing.
  • + Added Modifier module. While the configured Modifier source (a gesture, a keyboard key or chord, or a mouse button including X1 and X2) is held, each Alter row substitutes a different trigger action for its chosen target. Targets cover every gesture, every point tracker axis output, and the physical mouse buttons (left, right, middle, X1, and X2).

v1.4.4

  • + Added F13โ€“F24 keys as bindable key outputs (selectable from a dropdown in the key field, since these keys have no physical equivalent to press)
  • + Added a dwell-to-enable target on the Dwell Click card (hold the cursor on the ring beside the enable toggle for 1.5 seconds to turn dwell clicking on or off hands-free)
  • + Added a Wait for Timeout option to gesture chains (defers firing until the step timeout elapses, then fires the longest completed chain, so a longer chain such as brow raise plus right smirk plus right smirk can override a shorter prefix chain such as brow raise plus right smirk without the shorter one firing first)
  • โœ“ Fixed the head cursor replaying buffered motion after the window was minimized or lost focus
  • โœ“ Fixed a window hang when a hold-mode click was held on the FaceCommand window itself
  • โœ“ Fixed head cursor latency by always tracking the most recent camera frame

v1.4.3

  • + Added Toggle Dwell Click trigger action (turn the Dwell Click module on or off from any gesture, gesture chain, or morse pattern)
  • โœ“ UI improvements

v1.4.2

  • + Added Alt+Tab trigger
  • + Added Head Cursor module (independent head-motion cursor control with a Set Tracking Region box)
  • + Added Dwell Click module (left, right, double, middle click; dwell-time and move-tolerance sliders)
  • + Added Mouse Left/Right/Up/Down trigger actions with a cursor move-speed slider
  • + Added Weight slider to the gamepad axis and Point Tracker axis panels (nonlinear response shaping)
  • + Added Task Manager trigger action

v1.4.1

  • + Added in-app updates functionality
  • + Added email sending as a trigger action
  • + Added Alt+Tab trigger
  • โœ“ Fixed webcam list display

Works with what you have

๐Ÿ–ฅ๏ธ

Operating System

Windows 10 or Windows 11

๐Ÿ“ท

Webcam

Any USB or built-in webcam (720p minimum recommended)

โš™๏ธ

Processor

Intel i5 or equivalent (or better)

๐ŸŒ

Internet

Needed for the first launch, which downloads the components FaceCommand runs on, and for license activation. Fully offline after that.

Ready to take control?

Download the free 7-day trial. No credit card required.

Download Free Trial View Pricing