Make Apple Magic Mouse tapping feel like trackpad tapping.
简体中文
Magic Mouse has an excellent multi-touch surface, yet macOS does not offer the trackpad's Tap to click setting for it. MigMouse fills that gap while leaving Apple's native pointer movement, scrolling, and gestures intact.
- One-finger tap to left-click
- Two-finger tap or right-side tap to right-click
- Two-finger pinch to zoom with native macOS magnification events
- Natural double-click behavior with correct click counts
- Arbitration with scrolling and physical clicks to prevent accidental taps
- Adjustable timing, movement, pressure, and right-click zone
- Live touch diagnostics and a synthetic-click test
- Launch at login and safe process-level recovery after Mac wake
- Native menu bar app with no network access or analytics
- System-following UI in 12 languages: English, Simplified and Traditional Chinese, Japanese, Korean, French, German, Spanish, Brazilian Portuguese, Italian, Russian, and Arabic
- macOS 14 Sonoma or later
- Apple Magic Mouse with a multi-touch surface
- Accessibility and Input Monitoring permission
- Xcode 16 or later to build from source
Download the latest MigMouse-v*.zip from GitHub Releases, unzip it, and move MigMouse.app to Applications. Releases are signed with Developer ID and notarized by Apple, so they open normally without using Open Anyway.
On first launch, macOS still asks you to grant Accessibility and Input Monitoring access. These privacy permissions are required for MigMouse to read Magic Mouse touches and emit clicks; quit and reopen MigMouse after granting them.
- Clone this repository and open
MigMouse.xcodeprojin Xcode. - Select your development team if Xcode asks for one.
- Run the
MigMousescheme. - Grant Accessibility and Input Monitoring access when prompted, then restart MigMouse.
Command-line verification:
xcodebuild \
-project MigMouse.xcodeproj \
-scheme MigMouse \
-configuration Debug \
-destination 'platform=macOS' \
CODE_SIGNING_ALLOWED=NO \
testMagic Mouse touch frames
│
▼
Tap recognizer ───── scroll / physical-click arbitration
│
▼
Core Graphics mouse event
│
▼
macOS app
MigMouse dynamically loads Apple's private MultitouchSupport.framework to read touch frames and uses Core Graphics to emit standard mouse events. The application sandbox must therefore remain disabled. This private API also means MigMouse is intended for source distribution and is not suitable for the Mac App Store.
All touch processing happens locally. MigMouse has no network client, telemetry, analytics, or account system. See the source and Security Policy for details.
Milestone 1 is complete and usable. Personalized calibration and additional gestures are planned for later milestones. See CHANGELOG.md.
Because MigMouse depends on an undocumented Apple framework, a future macOS update may require compatibility work. Bug reports with macOS version and Magic Mouse model are especially helpful.
Issues and pull requests are welcome. Please read CONTRIBUTING.md before contributing.
Maintainers can find the signed and notarized release process in docs/RELEASING.md.
MigMouse is available under the MIT License.