zeppybabe/gloriousctl-linux
GitHub: zeppybabe/gloriousctl-linux
一款逆向工程的 Linux 原生命令行工具,用于配置基于 Pixart 芯片的 Glorious 无线鼠标参数。
Stars: 1 | Forks: 0
# Gloriousctl (Pixart 版)
**一款原生的 Linux 命令行配置工具,适用于 Glorious Model I 2 Wireless(以及其他基于 Pixart 的 Glorious 鼠标)。**
Linux 游戏正在迅速发展,硬件支持也不应落后。本项目是一个逆向工程的 Linux 驱动程序,专为使用 Pixart 微控制器的较新 Glorious 鼠标设计。
**注意:** 这是一个*基础*实现。我完全重写了旧款基于 Sinowealth 的 Glorious 鼠标的协议逻辑,以支持新的 Pixart 192 字节和 256 字节多数据包架构。它支持 DPI、Polling Rate、Lift-Off Distance、Debounce 和 RGB 灯效。代码库完全开放供社区贡献,以映射剩余的功能(如 Keybinds/Macros)或构建 GUI!
## 支持的设备
* **Glorious Model I 2 Wireless** (VID `0x093a` PID `0x821d`)
* *(如果经过测试,可在此处添加其他基于 Pixart 的 Glorious 鼠标)*
## ⚠️ 架构说明:Write-Only 外设。
在逆向工程过程中,发现 Glorious Model I 2 Wireless 固件为了节省内存,充当了一个 **Write-Only** 设备。它不允许主机 PC 读取其当前配置。
为了解决这个问题,`gloriousctl` 使用了 **Local Linux Cache**。
首次运行该工具时,它会生成安全的出厂默认值,并将它们保存到 `~/.gloriousctl_state.bin` 中。每当您更改设置时,它都会修改此本地缓存,并将完整的 payload 推送到鼠标。
## 前置条件
要编译此工具,您需要 `gcc`、`make` 和 `hidapi` 开发库。
在基于 Debian/Ubuntu 的系统上:
```
sudo apt update
sudo apt install build-essential libhidapi-dev
```
## 编译和全局安装
克隆仓库并编译源代码:
```
git clone https://github.com/zeppybabe/gloriousctl-linux.git
cd gloriousctl-linux
make
```
要使该命令在您的 Linux 系统上全局可用,请将编译后的二进制文件复制到您的本地 bin 目录:
```
sudo cp gloriousctl /usr/local/bin
```
## 命令和参数
| 命令 | 描述 |
|---|---|
| `gloriousctl --info` | 显示当前缓存的配置。 |
| `gloriousctl --set-dpi` | 设置最多 6 个 DPI 阶段(以逗号分隔)。例如:`400`,`800`,`1600`,`3200` |
| `gloriousctl --set-dpi-color` | 设置每个 DPI 阶段的颜色(十六进制,以逗号分隔)。例如:`FF0000`,`0000FF` |
| `gloriousctl --set-effect` | 设置灯效模式。(选项:`off`、`rave`、`glorious`、`breathing` 等) |
| `gloriousctl --set-colors` | 设置所选灯效的颜色。 |
| `gloriousctl --set-brightness` | 设置灯效亮度(0 到 4)。 |
| `gloriousctl --set-speed` | 设置灯效动画速度(0 到 3)。 |
| `gloriousctl --set-debounce-time` | 设置点击 debounce 时间,单位为毫秒(2-16,偶数。奇数会向下取整为偶数)。 |
| `gloriousctl --help` | 显示内置帮助文本。 |
## 原始仓库基础
[enkore 的仓库](https://github.com/enkore/gloriousctl)
标签:云资产清单, 外设配置, 客户端加密, 硬件驱动, 逆向工程