Native macOS Utility

Control your Mac with physical taps.

MacTouch detects single, double, and triple taps on Apple Silicon MacBooks and maps them to actions like running shortcuts, muting audio, launching apps, and showing notifications.

Apple Silicon Only 100% Local Processing Swift + SwiftUI

All signal processing runs locally on your Mac.

Features

Tap Gesture Detection

Reliable single, double, and triple tap recognition tuned for chassis taps on MacBook aluminum body.

Live Waveform Panel

Built-in sparkline helps visualize tap signal quality with smoothing and adaptive scaling.

Calibration Wizard

Guided idle, single, and double-tap calibration writes personalized settings for your environment.

Action Mapping

Assign gestures to macOS Shortcuts, output mute toggle, app launch, or local notifications.

UI Preview

Real screenshots from the current MacTouch menu-bar app.

Install on your Mac

Build from Source

MacTouch is currently distributed as source only.

Tip: This is best for developers comfortable with terminal setup.

Prerequisites

  • Apple Silicon MacBook (M-series)
  • macOS 14 or newer
  • Xcode or Command Line Tools with Swift 6
  • Git installed
Optional: Install/check prerequisites via terminal
#!/usr/bin/env bash
set -euo pipefail

echo "Checking macOS version..."
sw_vers

echo "Checking Apple Silicon..."
ARCH="$(uname -m)"
if [[ "$ARCH" != "arm64" ]]; then
  echo "MacTouch requires Apple Silicon (arm64). Found: $ARCH"
  exit 1
fi

echo "Checking Xcode Command Line Tools..."
if ! xcode-select -p >/dev/null 2>&1; then
  echo "Installing Xcode Command Line Tools (a popup may appear)..."
  xcode-select --install || true
  echo "Finish the CLT install popup, then re-run this script."
  exit 0
fi

echo "Checking Git..."
if ! command -v git >/dev/null 2>&1; then
  echo "Git not found. Installing Homebrew first..."
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  if [[ -d /opt/homebrew/bin ]]; then
    eval "$(/opt/homebrew/bin/brew shellenv)"
  fi
  brew install git
fi

echo "Checking Swift..."
if ! command -v swift >/dev/null 2>&1; then
  echo "Swift not found. Install full Xcode from App Store, then run:"
  echo "sudo xcode-select -s /Applications/Xcode.app/Contents/Developer"
  exit 1
fi

echo "Prerequisites look good."
echo "Git: $(git --version)"
echo "Swift: $(swift --version | head -n 1)"

Build and run

git clone https://github.com/harsh180801/MacTouch.git
cd MacTouch
swift test
swift build
swift run MacTouchApp

On first run, allow Input Monitoring permissions if macOS prompts you.

How to use MacTouch

1

Launch MacTouchApp from menu bar and enable listening.

2

Run Calibrate... to capture your idle noise and tap rhythm.

3

Test single/double/triple taps and tune threshold/grouping/cooldown if needed.

4

Map gestures to actions and validate with the per-gesture Run button.