OpenLogiNet is a native Windows application designed to serve as a local-first alternative to Logitech Options+. It provides comprehensive control over Logitech HID++ devices, enabling users to remap buttons, configure hold-and-swipe mouse gestures, adjust DPI and SmartShift settings, manage RGB lighting, and switch profiles—all without requiring a Logitech account or telemetry. The software is built using C# and .NET 10 with Avalonia for the user interface.
Key Features:
Button Remapping: Customize button actions to suit your workflow, including keyboard shortcuts and pre-defined functions.
Mouse Gestures: Enable hold-and-swipe gestures on supported devices, allowing up to five distinct actions per gesture set.
DPI and SmartShift Control: Fine-tune sensitivity and wheel ratchet modes for precise adjustments.
RGB Lighting: Customize lighting effects and colors on compatible keyboards.
Command-Line Tool (CLI): Use OpenLogi.Cli for advanced device diagnostics, asset prefetching, and profile management.
Target Audience and Benefits:
Ideal for users of Logitech HID++ devices who prefer a local, account-free solution to manage their hardware. OpenLogiNet offers tangible benefits such as eliminating the need for cloud sync or telemetry while providing fine-grained control over device settings. The application is available via Winget, making it easy to install and deploy using the winget command line.
By leveraging native Windows features and HID++ communication, OpenLogiNet empowers users with a privacy-focused alternative to Logitech Options+.
A native, local-first alternative to Logitech Options+ for Windows. Remap
buttons, set up hold-and-swipe mouse gestures, drive DPI and SmartShift, control
RGB lighting, and switch profiles over HID++ — without a Logitech account,
telemetry, or the Options+ install.
This is a C# / .NET 10 / Avalonia rewrite of
AprilNEA/OpenLogi (originally written in
Rust), focused on Windows.
What it is
openlogi-net talks to Logitech HID++ devices — mice and keyboards — over a Logi
Bolt / Unifying / LIGHTSPEED receiver (including the Powerplay mat's embedded
receiver), or a Bluetooth-direct / wired connection, without
running Logi Options+. Everything is local: there is no account, no cloud
sync, and no telemetry.
It ships two binaries:
OpenLogi.App — an Avalonia desktop app with an interactive device view,
a per-button action picker, a gesture editor with per-direction actions and
presets, DPI and SmartShift controls, RGB lighting (per-key colors and
effects), per-application profiles, and a system-tray presence.
OpenLogi.Cli — a headless command-line tool for device inventory,
on-device HID++ diagnostics, asset prefetch, and lighting/profile probes.
What it does
Discover devices behind Bolt / Unifying / LIGHTSPEED receivers and direct
Bluetooth / wired connections, with per-device online state and battery level.
Remap buttons to a catalog of actions and custom keyboard shortcuts.
Mouse gestures — hold a button and swipe up / down / left / right for four
actions, with a plain tap as a fifth. Works with the dedicated MX gesture
button or any capable button (Middle, Back, Forward, the wheel-mode button) —
several at once — with Options+-style presets (Windows & Desktops, Media &
Volume, Arrange Windows…) or fully custom per-direction actions. See
.
DPI control — read and set sensitivity, with presets.
SmartShift — toggle the wheel ratchet mode and tune sensitivity.
Smooth scrolling — divert the wheel into high-resolution HID++ reporting
and re-inject it as fine sub-line OS scrolling (Options+-style), per device.
Note: running Logitech software (Options+, G HUB, Logi Bolt app) alongside
may interfere with this setting — both sides write the same volatile wheel
mode on the device, so whichever wrote last wins.
Shake to locate the pointer — wiggle the mouse back and forth and the
pointer grows, macOS-style, up to 3× while you keep shaking, then eases
smoothly back once you stop. Off by default; on the Pointer tab.
RGB lighting — solid colors, per-key colors, brightness, and built-in
effects on supported keyboards.
Onboard profiles — read, switch, and write the device's onboard
profile sectors; per-application profile overlays in the GUI.
Host switching — list and switch between paired hosts on multi-host
devices.
> [!NOTE]
> openlogi-net is under active development and not yet stable. Features and
> configuration may still change between releases.
> [!WARNING]
> Dongle (receiver) support may be unreliable. The app has not been tested
> with most Bolt / Unifying / LIGHTSPEED dongles and the devices behind them.
> A device reached through a dongle can show up as asleep moments after you
> used it, and settings or lighting may only apply while it is actively in
> use. Bluetooth and wired connections are not affected.
How it differs from the original OpenLogi
The upstream OpenLogi is a Rust + GPUI
application that treats macOS and Linux as first-class platforms and ships
Windows only as an early, untested preview. openlogi-net flips that priority:
Original OpenLogi
openlogi-net
Language / UI
Rust + GPUI
C# / .NET 10 + Avalonia
Primary platform
macOS + Linux
Windows
HID++ transport
macOS/Linux HID stacks
Windows raw HID
Mouse gestures
One gesture button per device (MX gesture button, or OS-hook capture)
Any capable button, several at once, all over HID++, with gesture-set presets
Distribution
.dmg, Homebrew, .deb/.rpm
Windows installer + portable zip
This is an independent rewrite, not a fork of the Rust code — the core logic
(device model, HID++ feature handling, brand/deep-link vocabulary) has been
ported to C#. It is not affiliated with Logitech or with the upstream
OpenLogi project.
Download
Grab the latest installer or portable build from the
Releases page.
Install
> [!IMPORTANT]
> Quit Logi Options+ first — the two applications fight over HID++ access,
> and only one can own a given receiver at a time. Leaving Logitech software
> running can also silently undo device-side settings this app applies (smooth
> scrolling in particular, since the wheel mode is volatile and both apps
> rewrite it).
Installer — download OpenLogi.net--setup.exe from the latest
release and run it. It installs to Program Files, adds Start-menu (and
optional desktop) shortcuts, and registers an uninstaller.
Portable — download OpenLogi.net--win-x64-portable.zip,
extract it anywhere, and run OpenLogi.App.exe. No installation required.
Both builds are self-contained — the .NET runtime is bundled, so nothing else
needs to be installed.
CLI usage
The CLI is a single executable; run it with a subcommand:
OpenLogi.Cli list # enumerate receivers and paired devices
OpenLogi.Cli diag # dump HID++ feature tables per device
OpenLogi.Cli hosts # list paired hosts on multi-host devices
OpenLogi.Cli kbinfo # keyboard brightness and RGB effect inventory
OpenLogi.Cli light # set device lighting to a solid color
Run with no arguments to default to list. Additional diagnostic subcommands
(profile dump/copy, per-key color, effects) are available — see
src/OpenLogi.Cli/Program.cs.
Windows (the app and tests target net10.0-windows)
Build and run
git clone https://github.com/loxsmoke/openlogi-net.git
cd openlogi-net
# build the whole solution
dotnet build OpenLogi.slnx
# run the desktop app
dotnet run --project src/OpenLogi.App
# run the CLI
dotnet run --project src/OpenLogi.Cli -- list
Test
dotnet test OpenLogi.slnx
Build an installable release
Releases are produced by the Release
GitHub Action (manually triggered): it fetches the next version, stamps it into
the projects, publishes a self-contained, trimmed build, and packages both an
Inno Setup installer and a portable zip. To reproduce the release build locally:
The build is self-contained (the .NET runtime is bundled) and trimmed in
partial mode — only the .NET base libraries are trimmed, keeping the package
around 20 MB while leaving device I/O, config, and UI code untouched.