macOS has one scroll-direction switch for everything you own: fix the mouse wheel and your trackpad breaks. Tweakle flips the wheel alone and leaves the trackpad exactly as Apple built it.
Tweakle never asks which mouse you own: every scroll event on macOS already says where it came from.
A wheel scrolls in discrete notches; a trackpad sends a continuous glide. macOS labels them differently before any app sees them.
Tweakle reverses the discrete steps, both axes, so a tilt wheel behaves too. Everything continuous passes through untouched.
Your system settings stay untouched. Quit the app and your Mac is exactly as it was.
USB, Bluetooth, the cheap one from the drawer, nothing to pair, no device list. Any mouse scrolls correctly from the first notch.
Two-finger scrolling, momentum, rubber-banding, all untouched, because trackpad events are never modified.
Vertical and horizontal, a tilt wheel flips with the rest.
One switch in the menu bar. Flip it and scrolling returns to normal instantly, no restart.
Launch at login is a checkbox in the same menu, and it shows up properly in System Settings → Login Items.
Native Swift, zero dependencies, universal binary. It uses almost no memory and does nothing when you aren't scrolling.
New in 1.1. A small panel appears above the Dock for a second whenever Caps Lock turns on or off, on whichever screen your cursor is on, over fullscreen apps too. It never takes focus, and it asks for no permission beyond the one Tweakle already needs: macOS says a modifier key changed, the app reads the lock state from the system. Switch it off in the menu and the key monitor stops running altogether.
Changing a scroll event means sitting in the stream of input events, and macOS guards that with the Accessibility permission, there is no smaller one that works. Decline the prompt and nothing breaks; the app just waits.
What it does with that permission is deliberately tiny: it checks whether a scroll was a notch or a glide, and flips the notch. The Caps Lock HUD adds no second permission: macOS tells the app that some modifier key changed, the app reads the lock state from the system, and the event itself is thrown away. It never sees which keys you press or what you type, stores nothing, and contains no networking code at all.
Signed with an Apple Developer ID and notarized by Apple, macOS opens it with a double-click, no warnings. Download, drag to Applications, done.
Because that switch is global: it fixes the wheel but reverses your trackpad too. macOS has no per-device setting, which is why this app exists.
Yes, modifying an input event on macOS requires it, full stop. The prompt appears on first launch; decline it and Tweakle simply waits, with a link to the right settings page in its menu.
A Magic Mouse keeps its natural scrolling, on purpose: its touch surface sends the same continuous events a trackpad does. This app is for a mouse with a real wheel.
No. It changes events in flight, one at a time, quitting restores normal behaviour instantly. The only thing it ever registers is a Login Item, and only if you tick Launch at Login.
Turn it back on. Tweakle starts from the macOS default, Natural Scrolling on, and if the global switch is also reversed, the two corrections cancel each other out. Let Tweakle handle the wheel on its own.
No. The work per event is flipping a few numbers, on its own thread. Scrolling stays as smooth as it was.
Yes, until version 1.0. The app became Tweakle in September 2026, when it grew past doing one thing to the scroll wheel. Same app, same developer, and an update keeps your settings and your Accessibility permission, because the identifier underneath never changed.
No, and it never will. macOS keeps no system state for either key, so there is nothing to read and nothing to show. Caps Lock is the one lock the system actually tracks.
Nothing, it's free. No licence, no trial, no account. If you'd like to support the work, Snipkin is the paid one.
macOS 14 Sonoma or newer, Apple silicon or Intel, a universal binary of about half a megabyte.