ScrollFix inverts mouse scroll direction system-wide on macOS (so you can keep natural scrolling for your trackpad but Windows-style scrolling for your mouse). It runs as a lightweight LaunchAgent and automatically starts at login once installed.
ScrollFix creates a low-level scroll event tap via the macOS Accessibility API and flips the scroll delta for non-continuous devices (mice, not trackpads).
Because this requires access to global input events, macOS will ask you to grant Accessibility permission to the ScrollFix binary once. After that, it runs silently in the background.
- macOS 13 or newer
- Command Line Tools (
xcode-select --install)
git clone https://github.com/clee704/scrollfix.git
cd scrollfix
./install.shDuring install:
- The script compiles
scrollfix.cpp→scrollfix. - It copies the binary to
~/Library/Application Support/ScrollFix/scrollfix(stable path used by the permission dialog). - It installs
~/Library/LaunchAgents/dev.chungmin.scrollfix.plistpointing at that path. - It asks you to grant Accessibility permission for the binary (System Settings → Privacy & Security → Accessibility).
- Once granted, the LaunchAgent starts automatically.
Re-running ./install.sh keeps the binary at the same path, so you generally don’t need to re-authorize Accessibility after the first run.
Expected output:
✅ dev.chungmin.scrollfix: running
The scroll inversion takes effect immediately.
./uninstall.shThis stops and removes the LaunchAgent and its plist. It also deletes the installed binary at ~/Library/Application Support/ScrollFix/scrollfix.