# LinearMouse > Open-source macOS utility for customizing mouse and trackpad behavior: acceleration curves, scrolling speed, per-device settings. ## Install Save in your project root: ## Quick Use LinearMouse is a free, open-source macOS utility that gives you fine-grained control over mouse and trackpad behavior. Install it via Homebrew with `brew install --cask linearmouse`, or download the DMG from the GitHub releases page at linearmouse/linearmouse. ## Introduction macOS offers limited built-in options for customizing pointing device behavior. LinearMouse fills this gap by letting users disable mouse acceleration, set custom cursor speeds, adjust scrolling direction and speed independently per device, and configure modifier key actions -- all through a clean native interface. ## What LinearMouse Does LinearMouse intercepts and transforms input events from mice and trackpads. It can disable or customize acceleration curves, reverse scroll direction per device, set linear cursor movement, adjust scrolling speed and distance, and bind modifier keys to change scrolling behavior (e.g., holding Shift to scroll horizontally). Each connected device can have its own independent configuration. ## Architecture Overview LinearMouse is a native macOS application written in Swift. It uses macOS accessibility and input event APIs to intercept and modify pointer and scroll events at the system level. The app runs as a menu bar utility with minimal resource usage. Configuration is stored locally in JSON format, and the app supports Homebrew for installation and updates. ## Self-Hosting & Configuration LinearMouse runs locally on macOS with no server component. After installation, it appears in the menu bar. Configuration is done through the graphical interface or by editing the JSON config file directly. The app requires macOS accessibility permissions to function. Settings can be exported and imported, making it easy to transfer configurations between machines. ## Key Features - Disable or customize mouse acceleration curves - Set linear (1:1) cursor movement for precision - Independent scroll direction control (reverse scroll per device) - Per-device configuration for multiple mice and trackpads - Adjustable scroll speed and distance - Modifier key bindings for scroll behavior changes - Pointer speed customization beyond macOS defaults - Menu bar utility with minimal resource footprint - JSON-based configuration with import/export - Homebrew installation support ## Comparison with Similar Tools Compared to SteerMouse, LinearMouse is free and open source while offering similar per-device configuration. Unlike macOS built-in settings, LinearMouse supports true linear (non-accelerated) cursor movement and per-device scroll direction. Compared to Mos (which focuses mainly on smooth scrolling), LinearMouse provides broader control over acceleration curves, pointer speed, and modifier key behavior. ## FAQ **Does LinearMouse work with all mice?** LinearMouse works with most USB and Bluetooth mice on macOS. It detects each device independently, allowing separate configurations per device. **Does it require accessibility permissions?** Yes, LinearMouse needs macOS Accessibility permissions to intercept and modify input events. You grant this in System Settings under Privacy & Security. **Can I use it alongside other mouse utilities?** It may conflict with other tools that also intercept input events. It is generally recommended to use one input customization tool at a time. ## Sources - GitHub repository: https://github.com/linearmouse/linearmouse - Official website: https://linearmouse.app --- Source: https://tokrepo.com/en/workflows/asset-b57f3933 Author: AI Open Source