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.