Saguaro
Published on

Trackegg: Custom Trackpad Gestures for macOS

Authors
  • avatar
    Name
    Shuqi Wang
    Twitter

I've been working on Trackegg, a native macOS tool for custom trackpad gestures. It lets me assign gestures to actions I use regularly, such as arranging windows, closing tabs, adjusting the volume, and zooming in on content.

The app has a configuration window for choosing gestures and actions, then runs in the menu bar. The recordings below show four mappings from my setup. Each video includes the screen recording and a small view of the corresponding hand gesture.

Full demo

Everyday mappings

Minimize a window

Three-finger swipe down

Close tabs and windows

Four-finger swipe down

Adjust the volume

Top-left and top-right corner clicks

Zoom in and out

Three-finger pinch and spread

Configuration and daily use

These mappings are examples rather than fixed behavior. Trackegg supports global rules and rules for individual applications, so a gesture can do one thing in a browser and something else in another app. Valid changes take effect immediately.

The available gestures include taps, double taps, swipes, pinches, corner clicks, Click & Swipe, and Force Click. Actions include shortcuts, menu commands, window management, volume, brightness, and screenshots. There is also clipboard history stored on the Mac.

For continuous actions, a rule can repeat while the fingers stay on the trackpad. Trackegg keeps running after its configuration window is closed and can open at login.

Current status

The videos show a development build. Gesture input currently supports Apple Silicon Macs running macOS 15, with either the built-in trackpad or a Magic Trackpad. Input Monitoring and Accessibility permissions are required. Screen zoom also needs the accessibility zoom shortcuts enabled in macOS.

Hardware acceptance checks, compatibility with newer macOS releases, and public distribution are still in progress. This page is an introduction to what the current build does.

Thanks for reading. Stay curious!