Overview
macOS forces you to choose one scroll direction for both your trackpad and external mouse — but most people want them to behave differently. NaturalMouse fixes this with zero configuration.
It sits in your menu bar, detects when an external mouse is plugged in or disconnected, and automatically applies the right scroll direction for each device.
Key Features
- Automatic Detection: Responds to mouse connect/disconnect in under 1 second using IOKit
- Zero Configuration: Works immediately after granting Accessibility permission — no setup needed
- Menu Bar Only: No Dock icon, no clutter — lives quietly in the status bar
- Performant: 0% CPU at idle, less than 1ms per scroll event when active
- Optional Horizontal Scroll Inversion: Also inverts horizontal scroll if needed
- Launch at Login: Enable once and forget about it
- Pause/Resume: Temporarily disable scroll inversion without quitting
How It Works
NaturalMouse uses a system-wide `CGEventTap` to intercept scroll events. It checks whether each scroll event came from a trackpad (continuous) or an external mouse (discrete), and only inverts the direction for the external mouse. The trackpad behaves exactly as macOS intended.
Verdict
If you use a trackpad and an external mouse together, NaturalMouse solves one of macOS's longest-standing annoyances. It's invisible, instant, and completely free.
