AprilNEA/OpenLogi
GitHub: AprilNEA/OpenLogi
一款用 Rust 编写的本地优先、无账号无遥测的 Logitech Options+ 替代工具,通过 HID++ 协议管理罗技外设的按键重映射、DPI 和 SmartShift 等设置。
Stars: 8133 | Forks: 208
OpenLogi
⚡️ 一款用 Rust 编写的原生、本地优先的 Logitech Options+ 替代方案 🦀
通过 HID++ 重映射按键、DPI 和 SmartShift。无需账号,无遥测。
重映射按键、驱动 DPI 和 SmartShift,并根据不同应用切换配置文件 —— 所有这些都不需要 Logitech 账号、遥测或官方的 Options+ 安装。无云端,纯 TOML 配置。默认情况下,获取设备图片是唯一的自动网络请求;更新检查和下载仅在你请求或主动选择时运行。
## 这是什么
OpenLogi 通过 Logi Bolt 和 Unifying
接收器、蓝牙直连或 USB 数据线与 Logitech
HID++ 外设进行通信 —— 无需运行 Logi
Options+。它由三个组件组成:
- **[OpenLogi GUI](crates/openlogi-gui)** —— 一个 GPUI 桌面应用:带有可点击热点的交互式鼠标示意图、逐键动作选择器(内置动作以及在 TOML 配置中编写的自定义键盘快捷键)、DPI 预设、SmartShift、逐设备滚动反转、RGB 键盘灯效、逐应用配置文件、实时设备轮播以及已本地化为 20 种语言的设置窗口。
- **[OpenLogi agent](crates/openlogi-agent)** —— 拥有输入钩子和所有设备 I/O 的后台服务。GUI 是一个纯粹的 IPC 客户端,并在需要时启动该 agent。
- **[OpenLogi CLI](crates/openlogi-cli)** —— 用于无界面清点(`list`)以及资源同步和设备诊断子命令的 CLI。
一切都保持在本地:绑定存在于一个纯 TOML 文件中,agent 通过操作系统输入钩子重映射
按键按下事件,并通过 HID++ 将 DPI、SmartShift、滚动
和灯效更改直接写入设备。
支持 macOS、Linux 和 Windows。Windows 是最新的移植版本:它
已在 Windows 11 硬件上进行了端到端验证,但可能仍有比 macOS 和 Linux 构建版本
更多的粗糙之处;请参阅[路线图](#roadmap)。
## 超越 Options+
OpenLogi 可以做到 Options+ 做不到的事情:
- **在 Linux 上运行。** Options+ 仅发布 macOS 和 Windows 版本。OpenLogi 将
Linux 视为一等平台:evdev/uinput 钩子、udev 规则、systemd
用户单元以及 `.deb` / `.rpm` / `.pkg.tar.zst` 包。
- **移动手势按键。** 选择哪个物理按键拥有手势
角色 —— 专用的手势按键、中键、后退或前进 —— 支持
逐方向滑动手势
绑定,或完全关闭手势。Options+ 将手势角色固定在
专用的手势按键上。
- **以纯文本保存配置。** 所有内容都在一个 TOML 文件中,你可以
阅读、diff、进行版本控制并在机器
之间复制。
- **可脚本化。** 一个真正的 CLI:设备清点、资源预取以及设备端
HID++ 诊断(特性/控制转储、DPI / SmartShift 往返测试以及
键盘灯效检查)。
- **保持轻量。** 原生 Rust + GPUI 二进制文件 —— 没有 Electron 套件,没有常驻
更新程序,没有账号,没有遥测。
## 路线图
| 功能 | 状态 |
|---|---|
| 发现 Bolt 接收器 + 列出已配对设备 (CLI + GUI) | ✅ |
| Unifying 接收器(旧协议,已被 Bolt 取代) | ✅ |
| 蓝牙直连 / 有线设备(无接收器) | ✅ |
| 电池百分比 / 充电状态 | ✅(在线设备) |
| 交互式 GUI:轮播、鼠标示意图、动作选择器 | ✅ macOS + Linux + Windows |
| 通过操作系统输入钩子重映射按键 | ✅ macOS + Linux + Windows |
| 内置动作目录 + 自定义键盘快捷键(在 TOML 中编写) | ✅ macOS + Linux + Windows¹ |
| DPI 控制 + 预设 + 循环 / 设置预设动作 (HID++ `0x2201`) | ✅ |
| SmartShift 滚轮:模式切换 + 灵敏度 + 永久棘轮面板 (HID++ `0x2111`) | ✅ |
| 逐设备原生滚动反转 (HID++ `0x2121`) | ✅(受支持的设备) |
| 静态 RGB 键盘灯效 (HID++ `0x8070` / `0x8080`) | ✅(受支持的设备) |
| 逐应用配置文件覆盖(应用获得焦点时自动切换) | ✅ macOS + Windows,🟡 Linux(仅限 X11 / XWayland) |
| 设置窗口:登录时启动、更新、权限、语言、外观 | ✅ macOS + Linux + Windows |
| Agent 状态图标 | ✅ macOS 菜单栏 + Windows 托盘;不适用于 Linux |
| 界面本地化(20 种语言:da, de, el, en, es, fi, fr, it, ja, ko, nb, nl, pl, pt-BR, pt-PT, ru, sv, zh-CN, zh-HK, zh-TW) | ✅ |
| Linux 打包:udev 规则、systemd 单元、`.deb` / `.rpm` / `.pkg.tar.zst` | ✅ Linux |
| 手势按键逐方向绑定 + 实时捕获 | ✅(取决于设备能力) |
| 中键 / 模式切换 / 拇指滚轮按键捕获 | ✅ 所有平台支持中键;模式切换 / 拇指滚轮取决于设备 |
| Windows(agent、GUI、事件钩子、安装程序) | ✅ 已在 Windows 11 硬件上验证;较新的端口,正在进行兼容性完善 |
¹ 媒体键动作在 Linux 上使用 D-Bus MPRIS;少数 macOS 特有的动作在 Linux 上没有通用的对应实现,属于无操作。Windows 在可用的情况下会将平台动作映射到原生的对应实现。
## 安装
### macOS
需要 macOS 13 或更高版本。
从[最新发布版本](https://github.com/AprilNEA/OpenLogi/releases/latest)下载已签名、已公证的 `.dmg`,并将 `OpenLogi.app` 拖入 `/Applications`。
或通过 [Homebrew](https://brew.sh) 安装:
```
brew install --cask openlogi
```
官方的 Homebrew cask 是默认的安装路径。如果要显式
追踪来自 `aprilnea/tap` 的最新 GitHub 发布版本
,请运行:
```
brew tap aprilnea/tap
brew install --cask aprilnea/tap/openlogi@latest
```
`openlogi@latest` 由 OpenLogi 的发布工作流维护,可能会在
官方 cask 自动更新落地之前进行更新。请安装 `openlogi` 或
`openlogi@latest`,不要同时安装两者。
### Linux
从
[最新发布版本](https://github.com/AprilNEA/OpenLogi/releases/latest)下载适合你发行版的安装包:
```
# Debian / Ubuntu
sudo dpkg -i openlogi_*.deb
# Fedora / RHEL
sudo rpm -i openlogi-*.rpm
# Arch Linux
sudo pacman -U openlogi-*.pkg.tar.zst
```
为 `x86_64`/`amd64` 和 `arm64`/`aarch64` 架构均发布了安装包。
该安装包会安装 udev 规则,授予你的用户在无需
`sudo` 的情况下访问 `/dev/hidraw*` 和 `/dev/uinput` 的权限。安装后,
为你的用户启用后台 agent:
```
systemctl --user enable --now openlogi-agent.service
```
对于手动 / 源码安装以及没有 systemd 的发行版,请参阅
[docs/INSTALL-linux.md](docs/INSTALL-linux.md)。
### Windows
已签名的便携版 `.zip` 压缩包和按用户的 `.msi` 安装程序(x86_64 和
arm64)会附加在每个发布版本中。两者都附带了 GUI(`OpenLogi.exe`)
以及后台 agent(`openlogi-agent.exe`),后者拥有所有的
设备 I/O —— 在使用便携版 zip 时,请将这两个文件放在一起,
否则 GUI 将无法连接任何目标。
Windows 支持已可正常工作,并在 Windows 11 上使用
真实硬件(有线键盘和 Unifying 接收器鼠标)进行了端到端验证,包括
MSI 的安装、原地升级和卸载。它比
macOS 构建版本新,因此如果你遇到粗糙的问题,请
[在此报告](https://github.com/AprilNEA/OpenLogi/issues)。该 agent 会显示一个
系统托盘图标(显示主窗口 / 退出),以便在
主窗口关闭后应用仍然可以访问。要在 Windows 上禁用它,请在
TOML `[app_settings]` 块中设置 `show_in_menu_bar = false` 并重启
agent;该 GUI 切换开关目前仅限 macOS 使用。
要从源码构建,请参阅 [DEVELOPMENT.md](docs/DEVELOPMENT.md)。
## 使用方法 (CLI)
请参阅 [USAGE.md](docs/USAGE.md)
## 配置
请参阅 [CONFIGURATION.md](docs/CONFIGURATION.md)
## 开发
请参阅 [DEVELOPMENT.md](docs/DEVELOPMENT.md)
## 许可证
在以下两者中选择一项进行双重授权:
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE))
- MIT license ([LICENSE-MIT](LICENSE-MIT))
由你选择。
### Logo 与品牌资产
OpenLogi 的 Logo 和应用图标 —— 即 [`design/`](design/) 下的品牌资产 ——
其版权所有者为 © 2026 AprilNEA,保留所有权利,且不受上述 MIT/Apache
许可证的约束;请参阅 [`design/LICENSE`](design/LICENSE)。复刻代码并不授予
使用 OpenLogi 名称、Logo 或图标的权利;未经事先书面许可,请不要使用它们来代表
你自己的项目、复刻版本或发行版。
**与 Logitech 无附属关系。**“Logitech”、“MX Master”和“Options+”是 Logitech International S.A. 的商标。
## 仓库活跃度

标签:DPI控制, HID++, Logitech Options替代, Python安全, Rust, 可视化界面, 外设管理, 本地优先, 网络流量审计, 通知系统, 键位重映射