Full Feature List
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.
See It In Action
FaceCommand demo by its creator
Hands-Free Mouse
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.
Core Inputs
12 Distinct Facial Gestures
Each gesture has its own configurable trigger threshold, sensitivity, and deadzone.
| Gesture | Notes | Trigger Modes |
|---|---|---|
| Eyebrow raise (both) | Works independently from left and right | Single press Hold Toggle Analog |
| Right eyebrow raise | Independent from both-eyebrow raise | Single press Hold Toggle Analog |
| Left eyebrow raise | Independent from both-eyebrow raise | Single press Hold Toggle Analog |
| Brow furrow | Distinct from eyebrow raises | Single press Hold Toggle Analog |
| Blink (both eyes) | Both eyes simultaneously | Single press Hold Toggle Analog |
| Wink right | Independent right eye | Single press Hold Toggle Analog |
| Wink left | Independent left eye | Single press Hold Toggle Analog |
| Smile | Full smile | Single press Hold Toggle Analog |
| Open mouth | Jaw movement | Single press Hold Toggle Analog |
| Pucker | Lips forward | Single press Hold Toggle Analog |
| Smirk right | Right-side smile | Single press Hold Toggle Analog |
| Smirk left | Left-side smile | Single press Hold Toggle Analog |
Head Look: 4 Directions
| Direction | Function |
|---|---|
| Look up | Triggers assigned action when head tilts up past threshold |
| Look down | Triggers assigned action when head tilts down past threshold |
| Look left | Triggers assigned action when head turns left past threshold |
| Look right | Triggers 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
What Each Gesture Can Do
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.
Trigger Modes
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.
Gesture Chains
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
Any gesture combination. Any command. No accidental triggers.
Morse Chains
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.
Fine-Tuning
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.
Additional Features
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.
Transparency
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.
Release Notes
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 /shortcutsrecreates 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
bleaklibrary, 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
System Requirements
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.