Free software

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.

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.

Free software

Make your desktop flow with gestures

PulseGesture is free and requires no registration. Visit GitHub Releases and choose the standalone build or AppImage for your operating system and processor architecture.

Download freeWindows, macOS, and Linux · x86_64 and ARM64