-
Notifications
You must be signed in to change notification settings - Fork 37
Home
Native Linux configurator for Logitech HID++ peripherals
Logitune is a native Linux configurator for Logitech HID++ peripherals, starting with the MX Master 3S. It communicates directly with the device over hidraw using the HID++ 2.0 protocol β no Solaar, no logiops, no daemon. Just a Qt 6 / QML desktop application with a system tray icon.
Buttons page β interactive device render with hotspot callouts for each button
| Feature | Description |
|---|---|
| π― Per-application profiles | DPI, SmartShift, scroll, button assignments, and gestures switch automatically when you change window focus |
| π Button remapping | Assign keystrokes, app launches, gesture triggers, or SmartShift toggle to any configurable button |
| ποΈ Gesture system | Hold the gesture button and swipe up/down/left/right or click for five independent actions |
| π Thumb wheel modes | Horizontal scroll, zoom (Ctrl+scroll), or volume control |
| βοΈ SmartShift control | Toggle ratchet/freespin mode and adjust the auto-disengage threshold |
| π Hi-res scroll | Toggle high-resolution scrolling and natural (inverted) direction |
| ποΈ DPI slider | 200 to 8000 DPI in 50-step increments |
| π Battery monitoring | Real-time level and charging status in the system tray |
| π Easy-Switch | View paired hosts and active slot |
| π Transport failover | Seamlessly switch between Bolt receiver and Bluetooth connections |
| π Crash reporting | Built-in crash handler with one-click GitHub issue filing |
Tip
The UI is modeled after Logitech's Options+ application β a sidebar navigation with pages for Point & Scroll, Buttons, Easy-Switch, and Settings, plus a profile bar at the bottom.
| Page | Description |
|---|---|
| π Getting Started | Installation, first run, permissions, UI overview |
| π¨ Building | Build from source, Flatpak, devcontainer, CI |
| ποΈ Architecture | System design, signal flow, MVVM, HID++ protocol layer |
| π±οΈ Adding a Device | Step-by-step guide to adding support for a new Logitech device |
| π₯οΈ Adding a Desktop Environment | How to add GNOME, Hyprland, or other DE support |
| π§ͺ Testing | Test philosophy, tiers, infrastructure, how to write tests |
| π€ Contributing | Fork workflow, code style, commit format, PR checklist |
| π HID++ Protocol | Deep dive into HID++ 2.0, feature discovery, report format |
Note
Logitune is in early development. The MX Master 3S is the first and currently only supported device. The architecture is designed to make adding new devices straightforward β see Adding a Device.
| Device | PID | Connection | Status |
|---|---|---|---|
| β MX Master 3S | 0xb034 |
Bolt / Bluetooth | Fully supported |
| Feature | KDE Plasma 6 | GNOME | XFCE / Cinnamon | Hyprland / Sway | Other |
|---|---|---|---|---|---|
| Button remapping | β | β | β | β | β |
| DPI / SmartShift / Scroll | β | β | β | β | β |
| Thumb wheel modes | β | β | β | β | β |
| Gesture actions | β | β | β | β | β |
| Per-app profiles | β | π Planned | β | β | β |
| Auto profile switching | β | π Planned | β | β | β |
| Block shortcuts during capture | β | π Planned | β | β | β |
| System tray | β | β | β | β | β |
Note
All device configuration works on every DE β it's pure HID++ over hidraw. Per-app profile switching requires desktop-specific integration for window focus tracking.
Important
Want to add support for your device or desktop environment? Check out Adding a Device and Adding a Desktop Environment for step-by-step guides.
Buttons page β interactive device render with labeled hotspots for each configurable button
Buttons page β Actions panel showing the full list of assignable actions
Point & Scroll page β DPI slider, SmartShift toggle, hi-res scroll, and thumb wheel mode
Point & Scroll β scroll wheel detail panel with per-setting controls
Settings page β device info, debug logging toggle, and bug report button
Easy-Switch page β back view of device with paired host channel list
Logitune β Linux configurator for Logitech peripherals Β· Source Β· GPL-3.0