Gestures
Gatecaster’s engine recognizes a complete gesture vocabulary and commits to one interpretation per touch sequence, so gestures never flicker between meanings.
Pointer
| Gesture | Action |
|---|---|
| Tap | Left click |
| Touch and move | Move the cursor |
| Touch, hold, move | Drag |
| Press-and-hold or two-finger tap | Right click (configurable) |
Scroll
One- or two-finger scrolling with real momentum — a flick keeps gliding, and inertia carries on even if you drop to a single finger mid-scroll. Natural scroll direction is a setting.
Pinch & rotate
Two-finger pinch-zoom and rotate are synthesized as genuine macOS trackpad gesture events — animated and continuous, indistinguishable from a Magic Trackpad.
The engine uses a two-finger intent latch: at the start of a two-finger sequence it decides once whether you’re scrolling, pinching or rotating, then commits for the whole gesture. Mixing scroll-wheel events into a pinch makes macOS reclassify the whole sequence as a scroll and silently drop the gesture — so it never does.
Swipe
- Two-finger horizontal swipe — Safari (and app) back / forward.
- Three-finger swipe — Mission Control and Spaces switching.
Three-finger swipes are unreliable. They can’t be animated via CGEvents — no event field carries a per-finger count — so they’re driven with the corresponding keyboard shortcuts instead, which some apps and Spaces configurations ignore. Treat them as best-effort in the beta, not as a feature you can count on.
Edge gestures
Coming soon — edge gestures are not in the beta. Neither edge is armed, and the settings that tune them are hidden. Described here because they’re built and land in a later release.
Dwell at a screen edge and pull inward:
- Right edge — open Notification Center.
- Bottom edge — raise the on-screen keyboard (itself coming soon).
Because the bottom edge has no target in the beta, a three-finger up-swipe from the bottom of the panel falls through to its other meaning, Mission Control — deliberately, since an edge gesture that silently does nothing is worse than one that does the obvious thing.
Palm rejection
The panel reports no contact area, so rejection is behavioral: sticky per-contact verdicts plus cluster and typing-guard heuristics. It runs before anything reaches the pointer.