Product Introduction
- Definition: OpenLogi is a native, local-first, open-source configuration utility for Logitech peripherals, written in the Rust programming language. It operates as a direct, low-level driver for the HID++ (Human Interface Device++) protocol.
- Core Value Proposition: It exists to provide Logitech mouse, keyboard, and camera users with a privacy-respecting, telemetry-free, and user-owned alternative to official vendor software like Logitech Options+. It enables full device customization without requiring an internet connection or user account.
Main Features
- Advanced Button Remapping: Users can reassign any physical button on their Logitech device to one of 44 built-in system actions (e.g., Mission Control, Browser Forward), custom keyboard shortcuts, application launchers, or scripts. This is configured via an intuitive GUI with a clickable device diagram and is stored in a plain-text
config.tomlfile. - Direct HID++ Protocol Control: OpenLogi communicates directly with Logitech hardware using the HID++ 2.0 protocol over various connections (USB, Bluetooth, Unifying, Lightspeed, Bolt). Key functionalities driven this way include DPI presets (HID++ 0x2201), SmartShift wheel mode toggling (HID++ 0x2111), and host switching for Easy-Switch compatible devices (HID++ 0x1814/0x1815).
- Local-First, User-Owned Configuration: All settings are stored in a human-editable
config.tomlfile in the user's local config directory (e.g.,~/.config/openlogi/). This file is portable, can be version-controlled, and copied between machines. The application architecture ensures no binding or profile data is transmitted to any cloud service.
Problems Solved
- Pain Point: Eliminates mandatory vendor telemetry, cloud accounts, and bloated background processes associated with commercial driver software like Logitech Options+. It solves the problem of users losing control over their hardware settings and privacy.
- Target Audience: Technically-inclined Logitech peripheral users (developers, sysadmins, power users) who prioritize digital privacy, software ownership, lightweight system resources, and transparency. It also appeals to open-source advocates and users on Linux seeking robust Logitech device support.
- Use Cases: Essential for users who wish to customize their MX Master series mouse or MX Keys keyboard without installing Logitech's official software; for Linux desktop users seeking feature parity with Windows/macOS; for enterprise or security-conscious environments where external telemetry is prohibited; for users who want to maintain consistent device settings across multiple computers via a simple config file.
Unique Advantages
- Differentiation: Unlike Logitech Options+ or Solaar, OpenLogi is built with a strict "local-first" and "no telemetry" principle from the ground up. It provides a native, performant GUI experience across macOS, Linux, and Windows, written in memory-safe Rust, contrasting with Electron-based or vendor-locked alternatives.
- Key Innovation: Its architecture cleanly separates the GUI from the low-level HID++ agent. The agent handles all direct device communication, while the GUI renders a live device view. This modular design, combined with the use of a portable TOML configuration schema, ensures user settings are completely decoupled from the application and never leave the local machine unless explicitly copied by the user.
Frequently Asked Questions (FAQ)
- Is OpenLogi compatible with my Logitech mouse or keyboard? OpenLogi supports Logitech devices that use the HID++ 2.0 protocol, which includes most modern Unifying, Lightspeed, Bolt, Bluetooth, and wired peripherals like the MX Master series, MX Keys, and Litra Glow light. Compatibility is tied to specific HID++ feature reports.
- How do I transfer my OpenLogi settings to a new computer? Simply copy the
config.tomlfile from your old machine's config directory (e.g.,~/.config/openlogi/on Linux/macOS) to the same location on the new computer. Devices are identified by their physical serial or receiver slot, so bindings automatically apply. - Why does OpenLogi require Accessibility permissions on macOS? The permission is required only for remapping certain system-level buttons (like Back, Forward) via a CGEventTap. Core HID++ functions like DPI control, SmartShift, and gesture button remapping do not need this permission as they are handled directly at the hardware protocol level.
- Can OpenLogi pair new devices with a Unifying receiver? Bolt receiver pairing is currently supported in the GUI. Full Unifying and Lightspeed pairing support is under active development. For now, you can pair devices using Logitech's official tool or Solaar once, and OpenLogi will manage them thereafter.
- Does OpenLogi support Logitech Flow for multi-computer control? The underlying HID++ protocol commands for host switching (Easy-Switch) are implemented, allowing paired mice to follow a keyboard's host switch. However, the full Logitech Flow experience, including cross-computer clipboard and cursor bridging, is a complex feature on the long-term roadmap and would be implemented as an opt-in, local-network-only function.