Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
O

OpenLogi

> 开发工具
Open source

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

8.0K stars0 likes0 views
WebsiteGitHub

About

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

> [!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.

English | 简体中文 | 日本語 | Deutsch | Français | 한국어 | Русский

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

> **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. ## Features - Devices connected over Logi Bolt receivers, Unifying receivers, Bluetooth, or a wired connection, with battery percentage and charge state - Button remapping via the OS input hook: a built-in action catalog plus custom keyboard shortcuts authored in the TOML config, including independent short/long-press actions and hold-until-release chords for push-to-talk¹ - Per-application profile overlays that auto-switch on app focus (macOS + Windows; Linux on X11 / XWayland only) - Litra lights: power, brightness, and color temperature, with optional auto power that follows camera activity **Mouse** - Capture and remap the middle, mode-shift, and thumbwheel buttons (middle everywhere, the rest where the device exposes them) - Per-direction gesture bindings with live capture on supported buttons: Back/Forward, DPI/ModeShift, the dedicated gesture button, and the haptic panel - DPI/ModeShift gestures require device-reported diversion and raw-XY support. - Primary clicks and wheel controls cannot be newly assigned gestures; existing Middle Click gesture bindings are preserved. - Actions Ring: a cursor-centred, eight-slot overlay of actions (`ShowActionsRing`), with per-application layouts - DPI control with presets and Cycle / Set-preset actions (`0x2201`) - SmartShift wheel: mode toggle, sensitivity, and a permanent-ratchet panel (`0x2111`) - Per-device native scroll inversion (`0x2121`, supported devices) **Keyboard** - Global F-key remapping: the same action catalog as the mouse, plus power-user actions — typed text, key combos, multi-step workflows (macOS + Windows) - Static RGB lighting (`0x8070` / `0x8080`, supported devices) **Camera** - Any Logitech UVC webcam (Brio, StreamCam, the C920 series, …), plug and play - Live preview that opens the camera only while you watch — leaving it releases the camera entirely and the LED goes off - Image controls written straight to the UVC hardware — zoom, focus, exposure, brightness, contrast, saturation, sharpness, white balance, tint, anti-flicker, and low-light compensation, with auto-mode toggles for focus / exposure / white balance — so changes apply in Meet / Zoom / OBS and every other app using the camera - One-click profiles: built-in Default / Streaming / Video call plus custom snapshots; settings persist per camera and are written back to the hardware on the next view ¹ Media key actions use D-Bus MPRIS on Linux; a handful of macOS-specific actions have no universal Linux equivalent and are no-ops. Windows maps platform actions to native equivalents where available. ## Install > [!IMPORTANT] > Quit **Logi Options+** first: the two applications fight over HID++ access, and only one can own a given receiver at a time. ### macOS Requires macOS 13 or later. Download the signed, notarized `.dmg` from the [latest release](https://github.com/AprilNEA/OpenLogi/releases/latest) and drag `OpenLogi.app` to `/Applications`. Or install via [Homebrew](https://brew.sh): ```sh brew install --cask openlogi ``` The official Homebrew cask is the default installation path. To explicitly track the latest GitHub release from `aprilnea/tap` instead: ```sh brew tap aprilnea/tap brew install --cask aprilnea/tap/openlogi@latest ``` `openlogi@latest` is maintained by OpenLogi's release workflow and may update before the official cask autobump lands. Install either `openlogi` or `openlogi@latest`, not both. ### Linux Download the package for your distribution from the [latest release](https://github.com/AprilNEA/OpenLogi/releases/latest): ```sh # Debian / Ubuntu sudo dpkg -i openlogi-*.deb # Fedora / RHEL sudo rpm -i openlogi-*.rpm # Arch Linux sudo pacman -U openlogi-*.pkg.tar.zst ``` Packages are published for both `x86_64`/`amd64` and `arm64`/`aarch64`. Pre-built packages require GLIBC 2.35 or newer (Ubuntu 22.04 baseline). NixOS users can instead import the repository's module, which installs the package and udev rules and starts the agent with the graphical session: ```nix { inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.openlogi = { url = "github:AprilNEA/OpenLogi"; inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { nixpkgs, openlogi, ... }: { nixosConfigurations.my-host = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; # or aarch64-linux modules = [ openlogi.nixosModules.default { programs.openlogi.enable = true; } ]; }; }; } ``` All Linux packages install udev rules that grant your user access to `/dev/hidraw*`, `/dev/uinput` and your Logitech mouse's `/dev/input/event*` node without `sudo`. The NixOS module starts the agent automatically; after a `.deb`, `.rpm`, or `.pkg.tar.zst` installation, enable it for your user: ```sh systemctl --user enable --now openlogi-agent.service ``` See [docs/INSTALL-linux.md](docs/INSTALL-linux.md) for complete NixOS options, manual / source installs, and distros without systemd. ### Windows Signed portable `.zip` archives and per-user `.msi` installers (x86_64 and arm64) are attached to each release. Both ship the GUI (`OpenLogi.exe`) together with the background agent (`openlogi-agent.exe`), which owns all device I/O. Keep the two files side by side when using the portable zip, or the GUI has nothing to connect to. Windows support has been validated end-to-end on Windows 11 with real hardware (a wired keyboard and a Unifying-receiver mouse), including install, in-place upgrade, and uninstall of the MSI. It is newer than the macOS build, so if you hit a rough edge please [report it](https://github.com/AprilNEA/OpenLogi/issues). The agent shows a system-tray icon (Show Main Window / Quit) so the app stays reachable after the main window is closed. To disable it on Windows, set `show_in_menu_bar = false` in the TOML `[app_settings]` block and restart the agent; the GUI toggle is currently macOS-only. To build from source, see [DEVELOPMENT.md](docs/DEVELOPMENT.md). ## Usage (CLI) See [USAGE.md](docs/USAGE.md) ## Configuration See [CONFIGURATION.md](docs/CONFIGURATION.md) ## Developing See [DEVELOPMENT.md](docs/DEVELOPMENT.md) ## Acknowledgments - **Windows, cameras, and i18n** by [@davidbudnick](https://github.com/davidbudnick) — keyboard RGB, Windows support, Logitech webcam support - **Linux port** by [@cserby](https://github.com/cserby) — Linux support - [Solaar](https://github.com/pwr-Solaar/Solaar) by [@pwr](https://github.com/pwr) — open-source HID++ implementation - [Mouser](https://github.com/TomBadash/Mouser) by [@TomBadash](https://github.com/TomBadash) — a local, account-free Options+ replacement ## License The code in this repository is dual-licensed under either of - Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE)) - MIT license ([LICENSE-MIT](LICENSE-MIT)) at your option. ### Third-party code `crates/openlogi-hidpp` is a vendored fork of [`hidpp`](https://crates.io/crates/hidpp) by [@lus](https://github.com/lus), licensed 0BSD. ### Logo & brand assets Thanks to [@kubai087](https://github.com/kubai087) for designing the OpenLogi logo. The OpenLogi logo and app icon (the brand assets under [`design/`](design/)) are © 2026 AprilNEA, all rights reserved, and are not covered by the MIT/Apache licenses above; see [`design/LICENSE`](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

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Rustdpigpuihidhidpp

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category开发工具
PricingOpen source

> Related tools

V
VS Code
流行的开源代码编辑器
G
Git
分布式版本控制系统
V
Vite
下一代前端构建工具