Core features free

PulseGesture

Draw a gesture. Get things done.

Turn natural mouse movements into shortcuts, commands, and repeatable desktop workflows. Run actions against the current focus or keep them associated with the window beneath the pointer when drawing begins.

Highlights

Everyday actions, one gesture away

From a single shortcut to a multi-step desktop workflow, PulseGesture gives you a flexible and visual way to stay in control.

Record your own gestures

Save multiple samples for each gesture so natural variations remain comfortable to use.

Flexible triggers

Choose the left, middle, or right mouse button, with optional Ctrl, Alt, Shift, or Meta modifiers.

Multi-step shortcuts

Run one or more keyboard shortcuts in order, with an optional delay before every step.

Custom commands

Connect a gesture to a trusted system command and extend your personal automations.

Local dashboard

Create, record, edit, and remove gestures from a clear interface in English or Chinese.

Quiet in the background

Use the system tray, pause recognition, and optionally launch PulseGesture when you sign in.

Gesture-start window

Keep an action associated with the window beneath the pointer when drawing begins, without sending it elsewhere if that window disappears.

Application-specific actions

Let the same gesture run a different shortcut, command, or no action in selected applications.

Custom drawing feedback

Choose the trail color, see the matched gesture name while drawing, and confirm direction with preview arrows.

What’s new

Far more than a gesture launcher

Recent releases add adaptive gesture tools, window controls, safer system integration, and an optional cross-screen workspace.

Compare editions
Free

Learn from unmatched gestures

Review unmatched or ambiguous drawings, assign them to a gesture, manage multiple samples, and use match statistics to refine recognition.

Free

Automatic fullscreen pause

Pause recognition while the foreground app is fullscreen, with independent manual pause and clear status feedback.

Free

Visual window switcher on macOS

Browse window previews with a shortcut, filter and order windows, pin apps, and switch with the keyboard, pointer, or scroll wheel.

Free

Administrator windows on Windows

An optional restricted helper lets gestures reach elevated windows while the main application continues to run normally.

Free

System, light, and dark themes

Choose a light or dark interface, or let the local dashboard follow the operating system automatically.

Cross-screen

One mouse and keyboard across devices

Move the pointer onto another machine and continue using mouse buttons, scrolling, modifiers, media keys, and browser keys.

Cross-screen

Edge and direct device switching

Arrange machines by screen position, cross attached edges naturally, jump with per-device shortcuts, or use an emergency return key.

Cross-screen

Clipboard and file continuity

Carry clipboard content and copied files between paired machines, with visible transfers and controllable local cache usage.

Cross-screen

Gestures on the destination machine

Draw and run PulseGesture actions after crossing onto another device, with pairing, revocation, and automatic reconnection controls.

Simple lifetime pricing

Core gestures stay free. Pay only for cross-screen collaboration.

Cross-Screen Link is a one-time license for each device: $9 per device, permanently.

View pricing

Precise execution

Send actions to the window you actually pointed at

Choose the execution target that fits your workflow. Application-specific actions are available in Gesture Start Window mode.

01

Current Focus

Run the gesture’s global action in whichever window is focused when the action executes.

02

Gesture Start Window

Keep the action associated with the window beneath the pointer when drawing begins, with optional actions for each application.

If the gesture-start window is no longer available, PulseGesture does not send the action to another window.

Three simple steps

From idea to action in minutes

01

Record

Draw one or more samples, name the gesture, and save the way that feels natural to you.

02

Assign an action

Choose a shortcut sequence or trusted command, adding step delays when you need them.

03

Draw and go

Hold your trigger, draw the gesture, and release the mouse button to run the action.

Cross-platform

Made for the major desktop platforms

Keep the same familiar gesture workflow across the desktop operating systems you use.

WIN

Windows

No advance setup. Download and start a standalone x86_64 or ARM64 build.

x86_64ARM64
MAC

macOS

No advance setup. Intel and Apple silicon builds are available as a binary or menu-bar `.app`.

x86_64ARM64
LNX

Linux

Standalone and AppImage builds for both x86_64 and ARM64 systems.

x86_64ARM64

Windows and macOS are ready after download. Linux requires the one-time system setup below; the visible trail on Wayland requires XWayland.

Before first launch

One-time Linux preparation

Windows and macOS need no advance setup. Before its first Linux launch, configure input access, uinput, and udev. These commands cover X11 and Wayland on Debian/Ubuntu-based distributions.

The input group can read keyboard and mouse activity, including sensitive input such as passwords. Add only trusted users.

Windows and macOS: download and start—no advance configuration required.
Gesture Start Window mode supports X11, KDE Plasma 6 Wayland, and GNOME Shell 45–50 Wayland. KDE integration is configured automatically; the first enable on GNOME may require one sign-out and sign-in. Other Wayland desktops can continue to use Current Focus mode.
1

Install runtime tools

The visible gesture trail on Wayland requires XWayland. Installing the same tool set in an X11 session is harmless.

sudo apt update
sudo apt install xwayland xdg-utils unzip
2

Join the input group

Create the input group if needed, then add your current user to it.

getent group input >/dev/null || sudo groupadd --system input
sudo usermod -aG input "$USER"
3

Enable uinput

Load the kernel module now and configure it to load automatically after future boots.

sudo modprobe uinput
echo uinput | sudo tee /etc/modules-load.d/pulse-gesture.conf >/dev/null
ls -l /dev/uinput
4

Install udev rules

Add the device identity and access rules, then reload and apply them with udev.

/etc/udev/rules.d/69-pulse-gesture.rules

sudo tee /etc/udev/rules.d/69-pulse-gesture.rules >/dev/null <<'EOF'
ACTION!="remove", SUBSYSTEM=="input", KERNEL=="event*", ATTRS{phys}=="pulse-gesture/*", ATTRS{id/bustype}=="0003", ENV{ID_BUS}="usb"
ACTION!="remove", SUBSYSTEM=="input", KERNEL=="event*", ATTRS{phys}=="pulse-gesture/*", ATTRS{id/bustype}=="0005", ENV{ID_BUS}="bluetooth"
EOF

/etc/udev/rules.d/99-pulse-gesture.rules

sudo tee /etc/udev/rules.d/99-pulse-gesture.rules >/dev/null <<'EOF'
KERNEL=="event*", SUBSYSTEM=="input", MODE="0660", GROUP="input"
KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"
EOF
sudo udevadm control --reload-rules
sudo udevadm trigger --subsystem-match=input --action=change
sudo udevadm trigger --subsystem-match=misc --action=change
sudo udevadm settle
5

Restart the system

New group membership does not affect the current session. Rebooting is the most reliable option.

sudo reboot
6

Check the desktop session

X11: XDG_SESSION_TYPE should be x11 and DISPLAY must not be empty.

printf 'session=%s\ndisplay=%s\n' "$XDG_SESSION_TYPE" "$DISPLAY"

Wayland: WAYLAND_DISPLAY and DISPLAY must both be present, and XWayland must be running or available on demand.

printf 'session=%s\nwayland=%s\ndisplay=%s\n' \
  "$XDG_SESSION_TYPE" "$WAYLAND_DISPLAY" "$DISPLAY"
pgrep -a Xwayland || true
Cannot connect to the display?

If you see cannot connect to X11, sign out and sign in again. If Wayland still fails, use an X11 session. Always run PulseGesture as your normal user, never with sudo.

Core features free

Make your desktop flow with gestures

The PulseGesture Standard edition is free with no registration; Cross-Screen Link is an optional one-time per-device purchase. Choose your build on GitHub Releases.

Download freeWindows, macOS, and Linux · x86_64 and ARM64