Silent macOS keyboard on the trackpad — open-core Swift SDK + flagship app.
Type without pressing keys. Place fingers on the MacBook trackpad, and multi-touch contacts are mapped to a QWERTY grid and injected system-wide as real keystrokes.
- QWERTY key grid — trackpad surface divided into letter/number zones
- Force-press alt chars — press harder on a key to emit its alternate character (e.g.
e→é) - Shift zone — hold bottom-left corner to capitalize the next character
- Delete zone — hold bottom-right corner to continuously delete
- Two-finger swipe left — delete current partial word instantly
- Two-finger tap — accept top autocomplete suggestion
- Autocomplete — live word suggestions powered by macOS spell checker
- Calibration — tap-to-calibrate modal refines zone positions to your hand
- Haptic feedback — confirmation tap on each emitted character
- System injection —
CGEventOutputTargetinjects keystrokes into any app via Accessibility API - Double-tap Control — toggle capture on/off without leaving the keyboard
- macOS 12+
- Xcode or Xcode Command-Line Tools
- Accessibility permission (for the global key monitor and CGEvent injection)
swift build
swift runOn first launch macOS will prompt for Accessibility access. Grant it in System Settings → Privacy & Security → Accessibility.
Once running, double-tap either Control key to start/stop touch capture.
The core logic lives in TouchpadInputCore, a standalone MIT-licensed Swift package. Build your own trackpad-input app or plugin on top of it.
See Sources/TouchpadInputCore/README.md for the quick-start guide, protocol reference, and customisation examples.
The flagship app (TouchpadInputApp) is source-available. The SDK (TouchpadInputCore) is MIT licensed.