A native macOS replacement for Logitech Options+, written in Swift 6.
Optune configures Logitech MX mice and keyboards over HID++ — battery, DPI, SmartShift, button remapping, multi-host switching, and keyboard backlight — without accounts, telemetry, background daemons, or ads. It ships as a single menu bar app plus an optune CLI, both driven by IOKit HIDManager (no kernel extensions).
brew tap sanjays2402/optune
brew install --cask optuneInspired by Solaar and logitune; a clean-room implementation that shares no code with either.
- Battery — live level, charging state, and history
- Pointer — adjustable DPI and SmartShift threshold
- Buttons — full control enumeration and runtime remapping
- Hosts — multi-host pairing readout and switching
- Keyboard — backlight control and Fn-lock
- Profiles — per-app settings that follow the focused application
- Onboard — host vs onboard mode and slot selection
- Menu bar app with live telemetry, sidebar settings, low-battery notifications, and in-app update checks
See the CHANGELOG and Releases for the current feature set and version details.
| Menu bar | Settings |
|---|---|
![]() |
![]() |
- macOS 15 or later (macOS 26 enables the Liquid Glass material)
- Input Monitoring permission for HID++ requests; Accessibility permission for keystroke remap actions. Optune prompts for both on first use.
Homebrew (recommended):
brew tap sanjays2402/optune
brew install --cask optuneManual: download the latest DMG from Releases and drag Optune.app to /Applications. The build is ad-hoc signed, so the first launch requires right-click → Open to bypass Gatekeeper.
$ optune battery
MX Master 3S — 78%, discharging (Bluetooth)
$ optune dpi 6400
MX Master 3S — applied 6400 dpi
$ optune smartshift --off
MX Master 3S — SmartShift disabledCommands: devices, doctor, battery, dpi, smartshift, buttons, hosts.
Requires macOS 15+ and Swift 6.0+.
git clone https://github.com/Sanjays2402/optune.git
cd optune
swift build -c release
swift test
bash Scripts/bundle-app.sh release # produces .build/OptuneApp.appOne Package.swift, five products sharing a common core:
OptuneCore— IOKit HID, HID++ transport, features, device registryOptuneUI— shared design systemOptuneCLI— theoptunecommandOptuneApp— SwiftUI menu bar app and settingsOptuneShowcase— screenshot/marketing window (not the production app)
A new HID++ feature added to OptuneCore is available in every surface.
Issues and PRs welcome. Run swift build and swift test before submitting.
Adding a device is a one-file change to Sources/OptuneCore/Resources/devices.json with no Swift edits — see docs/adding-a-device.md. To report an unsupported device, run optune devices --json --all and open an issue with the output.
GPL-3.0-or-later — see LICENSE. HID++ 2.0 was reverse-engineered by the Solaar, logiops, and libratbag communities.


