Releases: uncSoft/Mousetrapped
Release list
Mousetrapped 1.0.5
Signed and notarized (Developer ID).
Fixed
- Cursor warps now actually stick. The warp ran with the mouse associated, so macOS re-asserted its own device-tracked position and snapped the cursor straight back — in one trace an 859px warp was undone in 3ms. Rescues could appear to run and do nothing. The warp is now performed with the mouse briefly disassociated.
New
- Handles the screen-sharing + Universal Control edge-push trap, where pushing the pointer through a screen edge during a Screen Sharing session makes the cursor vanish from both Macs. Universal Control becoming the frontmost application is now treated as definitive proof the pointer left this Mac — a signal that works even on a trackpad, where no raw pointer deltas exist. Input Monitoring must be granted for this case: Universal Control routes your keyboard away too, so raw HID is the only channel that still reaches this Mac, and ⌃⌥⌘M is the reliable trigger.
- A synthetic key tap during rescues, for stuck states that only a keyboard event clears.
- Grant Accessibility… menu item, plus a warning when the app is running App-Translocated — running it straight from a downloaded zip silently prevents every permission from sticking, which makes rescues fail for no visible reason.
- An opt-in cursor tracer for diagnosing traps:
defaults write dev.mousetrapped.Mousetrapped cursorTrace -bool truesamples cursor position, containing display, frontmost app, and input idle times every 200ms.
Install: brew install --cask uncSoft/mousetrapped/mousetrapped or unzip and drag to /Applications.
Mousetrapped 1.0.4
Signed and notarized (Developer ID).
Trackpad support
- Shake now works on trackpad Macs (locally). Previously, with Input Monitoring granted, shake detection got nothing from a trackpad; it now runs alongside the raw-HID path so trackpad motion is seen.
- Across Macs, the hotkey (⌃⌥⌘M) is the rescue for trackpad users — the shake gesture is itself trackpad input and can't pull the pointer back from another Mac. A one-time note explains this on trackpad-only Macs. (Shake across Macs still works with a mouse.)
- Removed the automatic "Input Monitoring not delivering" prompt, which false-fired on trackpad Macs (a healthy grant delivers no mouse deltas there). Replaced with a Repair Input Monitoring… menu item you can use if the permission ever gets stuck after an update.
Install: brew install --cask uncSoft/mousetrapped/mousetrapped or unzip and drag to /Applications.
Mousetrapped 1.0.3
Signed and notarized (Developer ID).
Fixed
- Input Monitoring now survives updates. The grant is bound to the app's code-signature identity; all releases share one stable Developer ID identity, so "Work Across Macs" keeps working across
brew upgrade. If macOS still leaves the permission in the known "allowed but not delivering" state after replacing the app, Mousetrapped now detects it and offers a one-click repair (toggle, or a cleantccutil reset). build.shprefers your Developer ID identity so a locally built copy shares the released build's designated requirement instead of fighting it.
If you granted Input Monitoring to a locally built copy before, reset it once and re-grant:
tccutil reset ListenEvent dev.mousetrapped.Mousetrapped
Install: brew install --cask uncSoft/mousetrapped/mousetrapped or unzip and drag to /Applications.
Mousetrapped 1.0.2
Signed and notarized (Developer ID).
New
- Update check on launch: Mousetrapped now checks GitHub for a newer release (no Sparkle, nothing auto-downloaded). A newer version shows up as a banner at the top of the menu and a one-time prompt with the
brew upgradecommand or a link to the release. The check runs at most once a day and can be turned off under Check Automatically.
Install: brew install --cask uncSoft/mousetrapped/mousetrapped or unzip and drag to /Applications.
Mousetrapped 1.0.1
Signed and notarized (Developer ID).
Fixed
- Rescue now reclaims input from an iPad (or Mac) session you had clicked into: escalation also fires when only the keyboard is routed away, and the Universal Control restart is verified and retried if a focused session re-grabs the pointer
- Shake detection reworked around how people actually shake: reversals must be rapid (within 0.35s of each other) and mostly horizontal, so vigorous shakes register at every sensitivity while ordinary mousing can no longer trigger an accidental rescue
- Debug file logging is now opt-in (
defaults write dev.mousetrapped.Mousetrapped debugLogging -bool true)
Install: brew install --cask uncSoft/mousetrapped/mousetrapped or unzip and drag to /Applications.
Mousetrapped 1.0.0
First release. Signed and notarized (Developer ID).
- Rescue a trapped, hidden, or lost cursor with ⌃⌥⌘M or a mouse shake
- Works across Macs: reclaims a pointer that Universal Control routed to another machine (requires Input Monitoring, opt in via the menu)
- Choose the rescue display, tune shake sensitivity, launch at login
Install: unzip and drag Mousetrapped.app to /Applications, or brew install --cask uncSoft/mousetrapped/mousetrapped.