Every scroll hits different.
Scrollzz gives scrolling on macOS a physical click. As you scroll, the trackpad's Taptic Engine fires a tiny detent at regular intervals — like the notches in a camera dial, or a good mouse wheel. A flat pane of pixels suddenly has texture.
It never changes how scrolling works. It only listens, and clicks.
⬇︎ Download the latest release
- Download
Scrollzz.dmgfrom the releases page and drag Scrollzz to Applications. - Right-click the app ▸ Open ▸ Open. The app is not notarized, so a normal double-click gets refused the first time. You only do this once.
- Launch it and follow the four setup steps. It will ask for Accessibility permission — that is the only way macOS lets any app see scroll events.
Then look for the wheel icon in your menu bar. That is the whole app.
- macOS 13 (Ventura) or later
- A Force Touch trackpad — MacBook 2015 or newer, or a Magic Trackpad 2 or newer
There is no Taptic Engine in a Magic Mouse or an ordinary mouse, so there is nothing there to click.
Four presets, from the menu bar or Settings ▸ Feel:
| Silk | Wide and gentle. Barely there. |
| Clicky | The default. Reads like a real wheel. |
| Ratchet | Tight and mechanical. Every pixel counts. |
| Ghost | One distant tick per paragraph. |
Want something else? Drag the spacing slider — it fires detents while you drag, so you feel the setting instead of guessing at a number.
- Momentum — what happens after you let go and the page keeps gliding: stop dead (Off), fade away as it slows (Fade), follow it all the way down so the last click lands as the content stops (Settle), or keep full strength throughout (Full).
- Per-app rules — detents everywhere except certain apps, or only in certain apps.
- Shortcut — ⌥⌘S toggles Scrollzz from anywhere. Change it in Settings ▸ General.
- Battery — optionally pause on battery or in Low Power Mode.
- Calibrate — pick which of the Taptic Engine's eight waveforms map to Light, Medium and Strong.
It cannot break your scrolling. Scrollzz uses a listen-only event tap: it is technically incapable of modifying, blocking or delaying a scroll event. If it crashes, scrolling carries on as normal.
It sends nothing about you, anywhere. Nothing is recorded, and the diagnostics you can export contain no personal data. Scrollzz makes exactly one kind of network request — the update check — which you can switch off in Settings, and which sends nothing but a request for the public releases page. Every build is automatically checked to confirm that no other part of the app can reach the network.
It is not on the Mac App Store, and never will be. Driving the Taptic Engine directly needs a private Apple framework, which the App Store forbids and the sandbox blocks. If a future macOS removes that framework, Scrollzz falls back to the public haptics API instead of breaking.
| I don't feel anything | Troubleshooting |
| General questions | FAQ |
| Light/Medium/Strong feel identical | Haptics notes |
| How is this built? | Architecture |
| I'd like to help | Contributing |
Still stuck? Open an issue — attach the report from Settings ▸ About ▸ Export Diagnostics…, it answers most of the questions we'd have to ask.
git clone https://github.com/Gomouu/Scrollzz.git
cd Scrollzz
make bundle && make installSwift Package Manager is the source of truth — open Package.swift is enough to work in Xcode, and
the whole project builds and tests with the Command Line Tools alone. make help lists everything
else. Details in CONTRIBUTING.md.
make uninstallRemoves the app, its single preferences entry and its Accessibility grant. Scrollzz writes nothing else anywhere. By hand: Troubleshooting ▸ Uninstalling completely.
MIT · The Scrollzz contributors
