Skip to content

mmaher88/logitune

Repository files navigation

Logitune

A Linux configurator for Logitech peripherals — per-application profiles, gesture mapping, thumb wheel modes, and a dark-themed Qt Quick UI matching Logitech Options+.

CI License Qt C++ Device

Logitune — Buttons Page

โœจ Features

  • ๐Ÿ–ฑ๏ธ Per-app profiles — automatic button/scroll/DPI switching on window focus
  • โŒจ๏ธ Button remapping — keystrokes, media controls, app launch, gestures, SmartShift toggle
  • ๐ŸŽ›๏ธ Thumb wheel modes — volume, zoom, horizontal scroll with invert control
  • ๐Ÿ‘† Gesture support — hold + swipe for desktop switching, task view, custom keystrokes
  • โšก DPI / SmartShift / Scroll — full control with live preview
  • ๐Ÿ”‹ System tray — battery status, minimize to tray
  • ๐Ÿ“ก HID++ 2.0 — direct communication via Bolt receiver, no daemon needed
  • ๐Ÿ”„ Disconnect/reconnect — automatic re-enumeration and profile reapplication
  • ๐Ÿ–ฅ๏ธ KDE + GNOME — native focus tracking on both desktops
  • ๐Ÿ› ๏ธ In-app descriptor editor: launch with --edit to position hotspots, upload images, and tune labels without hand-editing JSON. Learn more

๐Ÿ“ธ Screenshots

Actions Panel
Action selection panel

More screenshots

Point & Scroll
Scroll, thumb wheel & pointer speed

Scroll Settings
Scroll direction, SmartShift, smooth scrolling

Easy-Switch
Easy-Switch channel management

Settings
Device info, dark mode, debug logging

๐Ÿš€ Install

Ubuntu 24.04 (via OBS repo):

echo 'deb http://download.opensuse.org/repositories/home:/mmaher88:/logitune/xUbuntu_24.04/ /' | sudo tee /etc/apt/sources.list.d/logitune.list
wget -qO- https://download.opensuse.org/repositories/home:mmaher88:logitune/xUbuntu_24.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/logitune.gpg > /dev/null
sudo apt update && sudo apt install logitune

Fedora 42 (via OBS repo):

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:mmaher88:logitune/Fedora_42/home:mmaher88:logitune.repo
sudo dnf install logitune

Arch Linux (AUR):

yay -S logitune

From source:

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
sudo cmake --install build
logitune

๐Ÿ“š Documentation

Guide Description
๐Ÿ Getting Started Installation, permissions, UI overview
๐Ÿ”จ Building Prerequisites, build commands, native packages, devcontainer
๐Ÿ—๏ธ Architecture System design, signal flow, 14 Mermaid diagrams
๐Ÿ–ฑ๏ธ Adding a Device Step-by-step guide with code examples
๐Ÿ–ฅ๏ธ Adding a Desktop Environment KDE + GNOME implementation, adding new DEs
๐Ÿงช Testing Philosophy, 4 test tiers, writing tests
๐Ÿ“ก HID++ Protocol Report format, features, Bolt receiver, async matching
๐Ÿค Contributing Workflow, code style, commit format

๐Ÿ–ฑ๏ธ Supported Devices

Device Status Battery DPI SmartShift Thumb wheel Button remap Gestures Smooth scroll Easy-Switch
MX Master 2S โœ… Verified โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ…
MX Master 3 โœ… Verified โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ…
MX Master 3S โœ… Verified โœ… โœ… โœ… โœ… โœ… โœ… โœ… โœ…
MX Master 4 โœ… Verified โœ… โœ… โœ… โœ… โœ… โœ… โœ…
MX Anywhere 3 ๐Ÿงช Beta โœ… โœ… โœ… โœ… โœ… โœ…
MX Anywhere 3 for Business ๐Ÿงช Beta โœ… โœ… โœ… โœ… โœ… โœ…
MX Anywhere 3S ๐Ÿงช Beta โœ… โœ… โœ… โœ… โœ… โœ…
MX Anywhere 3S for Business ๐Ÿงช Beta โœ… โœ… โœ… โœ… โœ… โœ…
MX Vertical ๐Ÿงช Beta โœ… โœ… โœ… โœ… โœ…
MX Vertical for Business ๐Ÿงช Beta โœ… โœ… โœ… โœ… โœ…

MX Master 4 smooth scrolling is disabled in the shipped descriptor: the hardware does not respond correctly to the HID++ configuration used on MX Master 2S / 3S. Regular scroll wheel and SmartShift work normally; only sub-tick smoothing is unavailable. Re-enable yourself by setting "smoothScroll": true in devices/mx-master-4/descriptor.json if your unit behaves differently; if it works we will promote the default.

The four MX Anywhere family descriptors ship as ๐Ÿงช Beta pending hardware confirmation. Issue #46 tracks the verification.

Other Logitech HID++ 2.0 devices can be added by contributing a device descriptor. See Device Support Status for what the badges mean.

๐Ÿ–ฅ๏ธ Desktop Environment Support

Feature KDE Plasma 6 GNOME 42+ (Wayland) Other DEs
Button remapping โœ… โœ… โœ…
Media controls โœ… โœ… โœ…
DPI / SmartShift / Scroll โœ… โœ… โœ…
Thumb wheel modes โœ… โœ… โœ…
Gesture actions โœ… โœ… โœ…
Per-app profiles โœ… โœ… โŒ
Auto profile switching โœ… โœ… โŒ
Block shortcuts during capture โœ… โœ… โŒ
System tray โœ… โœ… โœ…

Note: All device configuration (buttons, DPI, scroll, gestures, thumb wheel) works on every DE — it's pure HID++ over hidraw. Per-app profile switching requires desktop-specific focus tracking. KDE uses a KWin script, GNOME uses a Shell extension (auto-installed on first run). See Adding a Desktop Environment to contribute support for other DEs.

๐Ÿ› ๏ธ Tech Stack

C++20 · Qt 6 Quick · CMake · HID++ 2.0 · GTest

๐Ÿ“„ License

GPL-3.0-only

About

Configure Logitech devices on Linux (Options+ clone)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors