OpenLogi turns Logitech mouse customization into local system software instead of vendor companionware

updates

AprilNEA's OpenLogi replaces Logitech Options+ with a native, local-first Rust app that remaps buttons, controls DPI and SmartShift, and adds per-app profiles without requiring an account, telemetry, or vendor cloud glue.

GitHub README capture for AprilNEA/OpenLogi

Peripheral software is one of those product categories where the official app is often the worst part of the hardware. You buy a great mouse, then get pushed into an account-heavy companion app with too much telemetry, too much UI chrome, and not enough trust. OpenLogi caught my eye because it goes straight at that pain: a native, local-first alternative to Logitech Options+ that handles button remapping, DPI, SmartShift, and per-app profiles without turning basic device control into a cloud relationship.

That sounds small on paper, but it is actually a very serious product idea. Input devices are part of daily computing muscle memory. When the configuration layer feels bloated, fragile, or overconnected, the entire experience of using the hardware gets worse. OpenLogi is interesting because it treats mouse customization like local system software, not like a vendor engagement funnel.

What the project actually ships

According to the README, OpenLogi talks to Logitech HID++ devices over a Logi Bolt receiver, Bluetooth-direct connection, or wired connection, without requiring Logi Options+ to be installed and running. The repo ships two binaries: a GPUI desktop app and a CLI.

The GUI is not just a thin settings page. It includes an interactive mouse diagram, clickable hotspots, a per-button action picker, recorded custom shortcuts, DPI presets, a SmartShift toggle, per-application profile overlays, and a device carousel for switching across paired hardware. The CLI handles inventory, asset sync, and device diagnostics. That split is smart. It gives normal users a visual control surface while still giving more technical users something scriptable and inspectable.

The feature table in the README is also unusually concrete. Battery state, DPI control, SmartShift, app-based profile switching, launch-at-login, and update checks are all called out clearly, along with the limitations that still exist. Gesture-button capture is still partial. Some button hooks are not fully there yet. Linux and Windows support are not done. Unifying receivers are not supported yet. I like that level of honesty. It makes the project feel much more real than a repo that implies universal support and leaves users to discover the edge cases later.

The real win here is the trust model

The strongest thing about OpenLogi is not any single checkbox feature. It is the trust model. The README is explicit that bindings live in plain TOML, remapping happens locally through the OS event tap, and the only network activity is device-image fetching plus an optional update check that is off by default.

That matters because companion-device software has trained people to expect the opposite: hidden sync, mandatory sign-in, analytics, and opaque settings state. OpenLogi takes a much healthier position. If your mouse settings are fundamentally about local input behavior, then the software should behave like local infrastructure.

This is the part I find most product-minded. The repo is not just saying “we can talk to the device.” It is saying “we think device control should belong to the user again.” That is a much stronger thesis than merely cloning a settings panel.

It feels like a utility, not a hobby script

A lot of open-source hardware projects stop at proving technical access. They can maybe read a battery level, maybe toggle one setting, maybe expose a rough CLI. OpenLogi feels more ambitious because it is trying to become a utility you could actually live with.

Per-application profiles are a good example. That feature is not about raw technical capability. It is about acknowledging that real users want different behavior in different contexts: one setup for design work, another for browsing, another for editing, another for games. Once a project handles context switching well, it stops feeling like a hack and starts feeling like product software.

The same goes for the interactive mouse diagram and action picker. Those are UX decisions that respect how people think about hardware. Most users do not want to reason from button IDs or device protocol codes. They want to click the mouse they own, see the part they care about, and assign the behavior they want. That translation layer is where a lot of open-source tooling falls apart. OpenLogi seems to understand that.

The native-first stack is part of the point

I also think the stack choice is interesting. A Rust codebase with a native desktop app is exactly the right direction for this category. Mouse configuration is one of those surfaces where people care about responsiveness, stability, and low-level control. It should feel close to the system, because it is close to the system.

That is why I think the project lands better than yet another Electron settings wrapper would. The repo’s positioning as a native, local-first alternative is not just branding. It is part of the product promise. If you are replacing software that users already distrust, you need to make the replacement feel lighter, calmer, and more honest. Native performance and plain local configuration help reinforce that story.

The biggest challenge is support breadth

The hard part, of course, is hardware and platform coverage. This category gets difficult fast because the UX only feels complete when the compatibility matrix gets broad enough. Logitech devices vary. Receiver behavior varies. OS-level input hooking varies. Even within macOS support, the README is candid that some actions still need follow-up and some button-capture paths are incomplete.

That does not weaken the repo for me. If anything, it clarifies the real challenge: building trustworthy utility software is less about shipping a flashy first screenshot and more about grinding through compatibility work until the experience becomes boring in the best possible way.

OpenLogi also marks itself as actively developing and not yet stable. That is worth taking seriously. But I would much rather see a repo say that plainly while already shipping a coherent product direction than pretend to be production-perfect on day one.

Why this repo stood out to me

The broader lesson in OpenLogi is that there is still a lot of room for open-source software that simply treats users with more respect than the incumbent. It does not need a giant new paradigm. Sometimes the opportunity is just to remove the account requirement, remove the telemetry, keep settings local, and design the workflow well enough that the alternative feels obviously better.

That is what makes this repo more interesting than a generic device-control experiment. OpenLogi is not just replacing a vendor app feature-for-feature; it is challenging the assumption that peripheral software needs to be bloated, account-bound, and overconnected in the first place.

If the project can keep maturing across more devices and platforms, it has the shape of something people will recommend not because it is open source, but because it is the better product. That is always the more exciting outcome.

GitHub: https://github.com/AprilNEA/OpenLogi