AprilNEA/OpenLogi

GitHub: AprilNEA/OpenLogi

一款用 Rust 编写的本地优先、无账号无遥测的 Logitech Options+ 替代工具,通过 HID++ 协议管理罗技外设的按键重映射、DPI 和 SmartShift 等设置。

Stars: 8133 | Forks: 208

English | 简体中文 | 日本語 | Deutsch | Français | 한국어

OpenLogi

OpenLogi

⚡️ 一款用 Rust 编写的原生、本地优先的 Logitech Options+ 替代方案 🦀
通过 HID++ 重映射按键、DPI 和 SmartShift。无需账号,无遥测。

twitter telegram GitHub downloads GitHub commit Hits

AprilNEA%2FOpenLogi | Trendshift

重映射按键、驱动 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. 的商标。 ## 仓库活跃度 ![Repobeats analytics image](https://repobeats.axiom.co/api/embed/4a0b576a03e9d528ad31ccf4797a1286c045d021.svg "Repobeats analytics image")
标签:DPI控制, HID++, Logitech Options替代, Python安全, Rust, 可视化界面, 外设管理, 本地优先, 网络流量审计, 通知系统, 键位重映射