Control your laptop with your hands. Nothing but a webcam.
Record a pose. Bind it to something. Hold it in front of the camera and it happens.
Everything runs on your own machine. No account, no cloud, no video leaves the laptop. The camera is released the moment you turn gestures off, so the indicator light beside your webcam is a real answer to whether anything is watching.
Download AirControl-Setup.exe from Releases and run it.
Installs for the current user, no administrator prompt. Python comes with it. The libraries are fetched during installation — around 400 MB, once.
Shortcuts. Hold a pose for a moment and it fires: show the desktop, switch app, lock the screen, play, pause, mute. Or anything else — bind a key combination or a program directly.
The mouse. One pose moves the cursor, another holds the left button. A quick close is a click. Close and move is a drag. Your other hand is still free for shortcuts.
Out of the way. Closing the window keeps it running in the tray. One keyboard shortcut turns
gestures on and off from anywhere, Ctrl+Alt+A by default.
Press Record a gesture, hold the pose through a short countdown, then name it and pick what it does.
A pose is stored with the hand's position, size and tilt taken out, so the same shape is recognised wherever your hand is, however far from the camera, and however tilted. Keep different gestures visibly different from each other — the preview shows how close a match is.
Nothing fires the instant a pose is seen. A shortcut has to be held for a few frames and then waits before it can fire again, so a flicker while your hand moves does not set something off.
| Shortcut | The combination that turns gestures on and off from anywhere |
| Match tolerance | Lower is stricter. Raise it if a pose is not being recognised. |
| Hold frames | How long a shortcut pose must be held before it fires |
| Cooldown | Seconds before the same gesture can fire again |
| Cursor box | Higher means a smaller active area, so less hand movement covers the screen |
| Cursor smoothing | Lower is steadier but slower to respond |
git clone https://github.com/Verisonder/AirControl.git
cd AirControl
pip install -r requirements.txt
python gui.py
MediaPipe lags a release or two behind the newest Python. If pip refuses it, check
python --version and install an older Python alongside.
There are command line tools too, if you prefer them:
python record.py # record gestures
python aircontrol.py # run them
python preview.py # just the tracking, for checking the camera
python fingers.py # which fingers are up, and pose names
Poor light kills detection. It will work at a desk and struggle on a sofa at night.
Holding an arm up is tiring faster than you expect. This suits a handful of quick actions rather than continuous use.
A camera running costs battery. Turn gestures off when you are not using them — that genuinely releases the camera rather than just ignoring it.
Windows blocks some synthetic key combinations. Win+L is one, so the lock preset calls the
Windows API directly instead.
MediaPipe for hand tracking, OpenCV for the camera, PySide6 for the window, pynput for the global shortcut, and PyAutoGUI for pressing things.
MIT