explaingit

caldis/mos

📈 Trending20,154SwiftAudience · vibe coderComplexity · 2/5ActiveLicenseSetup · easy

TLDR

A free macOS utility that smooths external mouse scrolling to feel like a trackpad, with per-app settings and mouse button remapping.

Mindmap

mindmap
  root((Mos))
    What it does
      Smooth scroll
      Reverse scroll
      Button remap
      Per-app config
    Features
      Trackpad-like feel
      Horizontal flip
      Logitech support
      Scroll hotkeys
    Use cases
      Better mouse UX
      Design workflows
      Custom shortcuts
      Multi-app setup
    Tech stack
      Swift
      macOS HID
      Menu bar app
    Installation
      GitHub Releases
      Homebrew cask
      macOS 10.13+

Things people build with this

USE CASE 1

Smooth out choppy external mouse scrolling on your Mac to feel like a trackpad.

USE CASE 2

Remap mouse buttons to system actions like Mission Control, screenshots, or custom scripts.

USE CASE 3

Set different scroll directions and behaviors for different apps (e.g., natural scrolling in browsers, reversed in design tools).

USE CASE 4

Use Logitech mice with Bolt/Unifying receivers and get native HID integration for better compatibility.

Tech stack

SwiftmacOSHID protocol

Getting it running

Difficulty · easy Time to first run · 5min
Free for personal use; commercial use and redistribution require permission from the author.

In plain English

Mos is a small macOS utility that makes external mouse scrolling feel smooth and natural, similar to how a trackpad feels on a MacBook. When you use a regular mouse wheel on macOS, the scrolling tends to feel choppy or abrupt compared to the fluid inertia scrolling on Apple's own trackpads. Mos intercepts the scroll wheel events from your mouse and applies interpolation, turning them into smoother, animated movements. Beyond smooth scrolling, Mos also lets you independently reverse the scroll direction for horizontal and vertical axes, so you can have natural trackpad-style scrolling vertically while keeping a different direction horizontally, for example. You can configure these settings differently per application, so a design tool might have different scrolling behavior than a browser or code editor. The app also supports mouse button remapping: you can bind mouse buttons or keyboard shortcuts to system actions like Mission Control, Space switching, screenshots, accessibility actions, running scripts, or opening files and applications. It has a dedicated "Scroll Function Key" option for temporarily switching behaviors (like turbo scrolling or direction flip) while holding a button. Logitech mice using Bolt/Unifying receivers or Bluetooth are specifically supported with additional HID protocol integration. Mos is a free, open-source menu bar application (it sits in the Mac menu bar, not as a regular window) written in Swift. It supports macOS 10.13 and later. Install it via GitHub Releases or Homebrew (brew install --cask mos). The license is CC BY-NC 4.0.

Copy-paste prompts

Prompt 1
How do I install Mos on my Mac and configure smooth scrolling for my external mouse?
Prompt 2
Show me how to set up per-application scroll direction settings in Mos so my browser scrolls naturally but my design app scrolls reversed.
Prompt 3
How can I remap my mouse buttons in Mos to trigger Mission Control or run custom scripts?
Prompt 4
What's the best way to use Mos's Scroll Function Key feature to toggle between normal and turbo scrolling?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.