Turn the extra buttons on your mouse into native macOS shortcuts, gestures, and smooth scrolling controls.
MousePilot is a lightweight, native macOS mouse utility built with SwiftUI, AppKit, CoreGraphics event taps, and ServiceManagement. It intercepts middle and extra mouse buttons while leaving primary and secondary clicks untouched.
Download the latest release · macOS 13+ · Apple Silicon · No embedded browser or web runtime
| Button and gesture mapping | Smooth scrolling controls |
|---|---|
![]() |
![]() |
Assign different actions to the middle button and additional mouse buttons. Each button can respond differently to:
- Click
- Hold
- Double click
- Click and drag
- Click and scroll
Mappings can be added, removed, restored to defaults, and are saved locally
with UserDefaults.
Trigger frequently used system actions without reaching for the keyboard:
- Mission Control and App Exposé
- Previous or next desktop Space
- Show Desktop and Launchpad
- Look Up and Quick Look
- Smart Zoom and directional zoom
- Copy, paste, and screenshot
- Direction-aware navigation and scrolling actions
MousePilot adds pixel-based momentum to a traditional scroll wheel with three smoothness levels: Off, Regular, and High.
Scrolling controls include:
- A mouse direction independent from the trackpad setting
- Horizontal scrolling while holding Shift
- Zoom while holding Command
- Quarter-speed precision scrolling while holding Option
- Native SwiftUI interface
- Global enable/disable control
- Optional menu bar controls
- Optional launch at login
- Per-user settings stored locally
- No Electron, embedded browser, account, or cloud service
- macOS 13 Ventura or newer
- Apple Silicon Mac for the current prebuilt release
- Accessibility and Input Monitoring permissions
MousePilot needs Accessibility and Input Monitoring access to observe extra mouse buttons and trigger the actions you configure. macOS requests these permissions the first time the app is enabled.
- Download
MousePilot-v1.0.1-macOS-arm64.zipfrom the latest release. - Extract it and move
MousePilot.appto/Applications. - Open MousePilot and grant Accessibility and Input Monitoring access under System Settings → Privacy & Security.
The current release uses an ad-hoc signature and is not notarized. Gatekeeper may require you to Control-click the app, choose Open, and confirm once. Developer ID signing and Apple notarization are tracked in the distribution signing plan.
The project uses Swift Package Manager and the installed Swift toolchain:
git clone https://github.com/zhangmin510/MousePilot.git
cd MousePilot
./build-app.sh
open build/MousePilot.appThe packaged app is written to build/MousePilot.app.
Mouse button numbers follow macOS conventions: the middle button is shown as button 3 in the interface, followed by buttons 4, 5, and so on. Primary and secondary clicks are intentionally never remapped.
Mac Mouse Fix is a separate open-source project by Noah Nuebling. MousePilot is an independent implementation and is not affiliated with or endorsed by that project.

