mrkeyoor.com_
Thu 01 Oct 08:15 UTC
Automationevaluationupdated 01 Oct 2026

mactap-app review

MacTap is a macOS menu-bar utility that turns one, two, or three physical knocks on a compatible MacBook into shortcuts and system actions. It reads the laptop's motion sensor locally, with separate mappings for each side and optional per-app presets.

Verdict

We did not run MacTap because our sandbox lacks a supported Swift path and the repository has no Dockerfile, while 3 open issues include confirmed accidental triggers in release 2.1.2. Try it only on a supported MacBook, map the first gestures to harmless actions, and verify typing, trackpad, desk, and clamshell behavior before assigning Accept, shell, or system commands. Wait if your workflow needs zero false triggers or a reproducible signed build from the public tree.

We ran it

Screenshot of mactap-app (github.com/jaskirat1616/mactap-app)

Answers from our run

Did you run mactap-app yourself?

No. Its code is Swift, and it carries no manifest our lab installs from, and no Dockerfile, so there was nothing standard to install, build or test. This review is written from the repository's own documentation.

Who should not use mactap-app?

Original M1 MacBook Air owners and other Macs that do not expose the required SPU HID motion report: the README says knock detection will not work and there is no keyboard fallback.

What are the alternatives to mactap-app?

Hammerspoon, Karabiner-Elements, BetterTouchTool. 1.

Setup2/5Simple binary install, narrow hardware and permission requirements
Docs4/5Clear hardware and Gatekeeper guidance, but ship script is absent
Community2/5390 stars and 3 open issues after a two-day release burst
Maturity2/5v2.1.2 is notarized, yet false triggers remain confirmed

Who it’s for

Owners of M2-or-later MacBooks, or M1 Pro, Max, and Ultra models, who want a physical shortcut surface.
Cursor users who want knocks mapped to Accept, Reject, or Save and will test for accidental triggers first.
Mac automation users comfortable granting Accessibility permission and reviewing any shell, AppleScript, or Shortcuts actions they configure.
Swift developers willing to build with XcodeGen and inspect the IOKit sensor path.

Who it’s NOT for

Original M1 MacBook Air owners and other Macs that do not expose the required SPU HID motion report: the README says knock detection will not work and there is no keyboard fallback.
Anyone who cannot tolerate a false action while typing: issue 2 reports that release 2.1.2 can still trigger from typing and trackpad presses after the first mitigation.
Clamshell users who need conservative detection: issue 4 says accidental triggers still occur at the lowest sensitivity.
Security policies that require sandboxed menu-bar apps: the entitlement file disables the app sandbox for IOKit, global-event, and event-posting access.
Teams requiring a reproducible signed release from the public tree: the README names Scripts/ship.sh, but commit 5425d37 does not contain that file, and the project metadata still says 2.1.0 while the release is 2.1.2.

Setup reality

We did not run commit 5425d37. Our sandbox has no supported Swift ecosystem, and the repository has no Dockerfile, so there are no lab install, build, test, dependency, or vulnerability results to report.

For a user, release 2.1.2 supplies a notarized app as a zip or DMG and requires macOS 14.6+. Building the public source needs Xcode, Homebrew, XcodeGen, and the documented xcodebuild command. Sending shortcuts requires Accessibility permission; detection itself does not.

Hardware is the real gate: M2 and later, or M1 Pro, Max, and Ultra, with an exposed SPU HID sensor. The original M1 Air is unsupported. The repository has no CI workflow or test directory, and its documented signed-release script is absent from the reviewed commit.

Six knock gestures turn the MacBook chassis into buttons

MacTap listens to a compatible MacBook's internal accelerometer and groups physical taps into one, two, or three knocks. In its left-and-right layout, each edge gets a separate set of actions, giving you 6 gesture slots without adding hardware. The menu-bar app can copy, paste, save, control media, capture screenshots, open apps, run Shortcuts, execute AppleScript, or send a custom keyboard shortcut.

Per-app mappings are the most useful part of the idea. Cursor can receive Accept, Reject, and Save while other applications use a general preset. MacTap also includes Daily, Coding, Capture, Media, and Focus presets. The source resolves the frontmost application's bundle identifier before choosing a slot, so a knock can mean something different in an editor than it does in a browser.

What happened when we ran it

Our harness did not run commit 5425d37 because it has no supported Swift ecosystem, and this repository has no Dockerfile that could supply one. We therefore have no first-party install time, build result, test count, dependency footprint, or vulnerability scan for MacTap. Saying that plainly matters because a signed macOS release cannot be validated in a Debian container by implication.

The supplied sandbox shape was 3 CPUs and 8 GB of RAM, but execution stopped at the platform gate. The source is a native Swift 5.9 application targeting macOS 14.6. It talks to IOKit, Accessibility, AppleEvents, and AppKit, so a useful run needs a compatible Mac and the operating system permission flow. We did not test knock accuracy, sensor availability, notarization, launch-at-login behavior, or network traffic.

The repository also has no CI workflow and no test directory. That does not prove the app fails, but it leaves hardware recognition and false-trigger behavior without a public automated check. Release 2.1.2 is offered as a 4,567,433-byte DMG and a 4,138,058-byte zip. The README gives a Gatekeeper command for checking the copied app, which users should run after installation.

M2 support is broad, while the original M1 Air cannot work

MacTap requires a MacBook that exposes its motion sensor as the SPU HID device the code expects. The README supports M2 and later machines plus M1 Pro, Max, and Ultra models. It specifically excludes the original M1 Air, model MacBookAir10,1, and warns that some other M1 models do not publish the needed accelerometer report. Intel Macs are outside the stated support list.

The code checks for an AppleSPUHIDDevice with a vendor usage page, a specific accelerometer usage, and a 22-byte report. If it cannot find that shape, the engine stays stopped. A previous arrow-key simulation is disabled outside debug builds, which is the right failure mode: an unsupported Mac should not silently turn ordinary arrow presses into copy, paste, or other actions.

Hardware eligibility is still only the first screen. Issue 4 reports excessive sensitivity in clamshell mode, even at the lowest setting. That makes sense as a practical concern because a closed laptop can receive desk vibration differently from an open one. The project has a sensitivity control, side inversion, and calibration, but a buyer should test the exact desk, stand, and lid position used every day.

Release 2.1.2 still mistakes typing for knocks

Issue 2 began with keyboard vibration triggering the default Accept or Tab action. commit bcd01a1 added a roughly 0.45-second typing lockout without requiring Input Monitoring. The maintainer shipped that behavior in versions 2.1.1 and 2.1.2. On September 11, the reporter said the problem was improved but still occurred while typing and when pressing the trackpad in 2.1.2. The issue remains open.

A false trigger is annoying when it toggles media. It is riskier when a single knock accepts an AI suggestion, presses Return, runs a shell command, or sends AppleScript. Start with Sound FX Only, a harmless URL, or another reversible action. Test sustained typing, trackpad clicks, moving the laptop, setting down a mug, desk bumps, and clamshell use before assigning any action that changes files or submits work.

Accessibility and unsandboxed execution deserve a deliberate choice

The README says tap classification happens on device, gesture maps stay in local defaults, and nothing is uploaded. The privacy manifest declares no tracking domains or collected data types. We inspected those declarations but did not verify network behavior at runtime. Sensor detection itself does not require Accessibility. Sending most shortcuts and controlling other applications does.

MacTap disables the macOS app sandbox because it needs IOKit access, global event monitoring, and event posting. Its action executor can launch /bin/zsh, run AppleScript, call the Shortcuts command, open URLs, and synthesize keyboard events. Those are expected capabilities for the product, not evidence of abuse. They increase the cost of a mistaken gesture and make source review, notarization checks, and conservative mappings more important.

The public tree does not reproduce the 2.1.2 release cleanly

Building a debug app is documented: install XcodeGen, generate the project, and run xcodebuild into /Applications. The reviewed source sets Swift 5.9 and macOS 14.6. However, both project.yml and the Xcode project still report marketing version 2.1.0 at commit 5425d37, while the latest release is 2.1.2.

The README says ./Scripts/ship.sh creates the signed and notarized package, but that file is absent from the commit. Only Scripts/build.sh, which creates a debug app, is present. A normal user can still install the published zip and check it with Gatekeeper. A release engineer cannot reproduce the advertised signed artifact from the public instructions alone.

MacTap is clever enough to try and young enough to treat cautiously. Its September 10 release, 390 stars, and small 3-issue queue show early interest, not settled hardware coverage. Use it as an optional shortcut layer after a boring, harmless test period. The moment a desk bump can approve code or run a command, novelty has to give way to repeatability.

Alternatives

ProjectWhat it isPick it when
HammerspoonA Lua-based macOS automation tool with hotkeys, app control, and system APIs.pick this instead when dependable keyboard or event triggers matter more than physical knock detection.
Karabiner-Elements gh↗A macOS keyboard customizer for complex key remapping and device-specific rules.pick this instead when you want precise key-based automation across a wider range of Macs.
BetterTouchToolA commercial macOS utility for trackpad, mouse, keyboard, window, and automation gestures.pick this instead when supported gesture breadth matters more than open-source code or chassis knocks.

What people are saying

  1. [velocity-scout] jaskirat1616/mactap-app

Sources

  1. MacTap repository
  2. MacTap README
  3. MacTap 2.1.2 release
  4. Typing and trackpad false-trigger report
  5. Clamshell sensitivity report

More automation reviews

cloudflare-turnstile-bypass · turnstile-bypass · autoshorts · ARES · appium · huashu-mac-use · the whole board →