AprilNEA/OpenLogi

Rustopenlogi.org
macOSWindowsLinux

⚡️A native, local-first alternative to Logitech Options+, written in Rust 🦀 — remap buttons, DPI, and SmartShift over HID++. No account, no telemetry.

dpigpuihidhidpplocal-firstlogitechlogitech-optionsmouse-remappingmx-masterprivacyrustsmartshift
スター成長
スター
24.4k
フォーク
863
週間成長
+524
Issue
358
10k20k
26年5月26年6月26年8月26年10月
成果物crates.io
README

[!WARNING] OpenLogi is under active development and not yet stable — features and config may still change. Give the repo a Star ⭐ and Watch 👀 it to get notified when a new release lands.

OpenLogi

OpenLogi

⚡️ A native, local-first alternative to Logitech Options+, written in Rust 🦀
Unlock the full capabilities of Logitech mice, keyboards, and webcams over HID++ and UVC

AprilNEA%2FOpenLogi | Trendshift OpenLogi - A local-first alternative to Logitech Options+ | Product Hunt

Fed up with Options+? Try OpenLogi.

Runs on macOS, Linux, and Windows.


Beyond Options+

Things OpenLogi does that Options+ won't:

  • Stay light. Native Rust + GPUI.
  • Run on Linux. Linux is a first-class platform in OpenLogi.
  • Gestures on supported buttons. Assign gesture actions to supported controls — or turn gestures off entirely.
  • Plain-text config. Everything is one TOML file you can sync between machines however you like.
  • Script it. A real CLI alongside the GUI: a JSON automation API for DPI, SmartShift, Fn-lock, and report rate, plus hardware diagnostics.

Features

OpenLogi device list with six Logitech devices: mice, a keyboard, and a Litra light

Devices

  • Logi Bolt and Unifying receivers, Bluetooth, and wired connections, with battery level and charge state
  • Low-battery notices at the bottom of the screen, once per discharge, with no OS notification permission
  • An on-screen indicator when a keyboard turns Caps Lock on or off, plus Num Lock and Scroll Lock on Windows and Linux
Easy-Switch card listing three paired computers Easy-Switch
  • See which computer is paired on each channel, with its OS and connection
  • Rename a channel on devices that allow it

Buttons and actions

Button mapping for an MX Master 4, with the gesture button inspector open Remap any button
  • A built-in action catalog, custom shortcuts, typed text, or multi-step workflows
  • Separate tap and hold actions, and hold-to-talk chords that release with the button
  • Gestures on Middle Click, Back/Forward, DPI/ModeShift, the gesture button, and the haptic panel
Actions Ring editor with eight slots around the cursor Actions Ring
  • Eight actions in a ring around the cursor
  • Its own layout per application
MX Keys S with three keys bound to Launchpad, Lock Screen, and Screenshot Keyboard keys
  • Bind media, emoji, screenshot, and other dedicated keys like mouse buttons
  • Restore one key to its device default, or reset the whole row

Per-application profiles switch with the focused app. An [apps] alias lets one profile follow an application across platforms.

Pointer and scrolling

Pointer tuning card with a DPI slider Pointer
  • DPI presets with cycle and set-preset actions
  • Pointer speed and report rate
  • Precision Mode: one button switches the mouse to its slowest speed and back
SmartShift card with wheel mode, sensitivity, and scrolling force SmartShift
  • Wheel mode and sensitivity
  • Scrolling force on SmartShift Enhanced mice
  • A permanent-ratchet switch
Scrolling card with inversion, wheel resolution, and smooth wheel
Scrolling
  • Scroll inversion per device, natively or in software
  • Wheel resolution and smooth wheel scrolling
  • Hold Back or Forward and roll the wheel to scroll sideways on mice without a thumb wheel

Keyboard and lighting

Keys and Backlight cards for an MX Keys S Keyboard
  • Fn Lock, and multi-platform keyboards that stay on the host OS layout
  • Backlight level, automatic brightness, battery saving, and how long the keys stay lit
  • The backlight level shown on screen as it changes
  • Static RGB on supported keyboards
Litra Glow lighting panel with brightness and color temperature Litra lights
  • Power, brightness, and color temperature
  • Turns on with the camera if you want
  • Keeps a change made on the light itself

Webcams

  • Any Logitech UVC webcam (Brio, StreamCam, the C920 series, …), plug and play
  • Live preview that holds the camera only while you watch; leave it and the LED goes off
  • Zoom, pan, tilt, focus, exposure, white balance, and every other UVC control, written to the hardware so Meet, Zoom, and OBS see the change
  • Built-in Default / Streaming / Video call profiles plus your own snapshots, kept per camera

Feature coverage depends on what each device reports; the app shows only the controls a device supports.

Platform support

Feature macOS Windows Linux
Mouse button remapping and gestures ✓ ✓ ✓
Keyboard F-key remapping ✓ ✓ —
Per-application profiles ✓ ✓ X11, wlroots (sway, Hyprland), GNOME with the companion extension
Mouse profile follows the window under the pointer ✓ ✓ X11 only
Media keys Native Native D-Bus MPRIS
Window-manager actions (desktops, Mission Control, …) Native Native equivalents GNOME, KDE (KWin), Hyprland; some macOS-only actions do nothing
Menu-bar / tray icon ✓ ✓ —
In-app updates Sparkle Built-in Built-in

Install

[!IMPORTANT] Quit Logi Options+ (and Solaar on Linux) first. Only one application can own a receiver at a time.

Platform System Architecture
macOS macOS 13 or later Apple silicon, Intel
Linux GLIBC 2.35 or newer x86_64, arm64
Windows Tested on Windows 11 x86_64, arm64

Every download carries a minisign signature and an entry in SHA256SUMS. To build from source, see DEVELOPMENT.md.

macOS

Download for Mac: Apple silicon (.dmg)   Download for Mac: Intel (.dmg)

Or with Homebrew:

brew install --cask openlogi

Open OpenLogi and grant Accessibility and Input Monitoring when macOS asks. OpenLogi then updates itself through Sparkle.

Linux

Download for Linux: Debian, Ubuntu (.deb)   Download for Linux: Fedora, SUSE (.rpm)   Download for Linux: Arch (.pkg.tar.zst)

Or install the right package for your distribution with one command. It verifies the minisign signature and starts the agent; install minisign first:

curl -fsSL https://github.com/AprilNEA/OpenLogi/releases/latest/download/install.sh | sh

On Arch Linux, the openlogi AUR package builds the release from source:

yay -S openlogi

To read the script before running it, and for the AUR package, Flatpak, NixOS, and distributions without systemd, see INSTALL-linux.md.

Windows

Download for Windows: installer (.msi)   Download for Windows: portable (.zip)

Usage (CLI)

See USAGE.md

Configuration

Settings use plain TOML; saves preserve symlinked config files. See CONFIGURATION.md.

Developing

See DEVELOPMENT.md, including macOS input-hook safety.

Acknowledgments

  • Windows, cameras, and i18n by @davidbudnick — keyboard RGB, Windows support, Logitech webcam support
  • Linux port by @cserby — Linux support
  • Solaar by @pwr — open-source HID++ implementation
  • Mouser by @TomBadash — a local, account-free Options+ replacement

License

The code in this repository is dual-licensed under either of

at your option.

Third-party code

crates/openlogi-hidpp is a vendored fork of hidpp by @lus, licensed 0BSD.

Logo & brand assets

Thanks to @kubai087 for designing the OpenLogi logo. The OpenLogi logo and app icon (the brand assets under design/) are © 2026 AprilNEA, all rights reserved, and are not covered by the MIT/Apache licenses above; see design/LICENSE. Forking the code grants no right to the OpenLogi name, logo, or icon; please don't use them to represent your own projects, forks, or distributions without prior written permission.


Not affiliated with Logitech. "Logitech", "MX Master", and "Options+" are trademarks of Logitech International S.A.

Repo activity

Repobeats analytics image