Es00bac/UtechSmart-Venus-Pro-Linux-MMO-Mouse-Utility
GitHub: Es00bac/UtechSmart-Venus-Pro-Linux-MMO-Mouse-Utility
一款用于在 Linux 下逆向配置 UtechSmart Venus Pro MMO 游戏鼠标的可视化工具,填补了官方支持缺失的空白。
Stars: 11 | Forks: 1
# Venus Pro 配置 (Linux)
一款用于 UtechSmart Venus Pro MMO 游戏鼠标的专业配置工具,适用于 Linux 系统。
## 概述
UtechSmart Venus Pro 是一款高性能 MMO 游戏鼠标,具备 16,000 DPI、12 个侧键以及丰富的宏功能。虽然它在《魔兽世界》和其他 MMO 游戏中表现出色,但在 Linux 平台上缺乏官方配置支持。
该项目实现了鼠标 HID 协议的逆向工程,并提供了一个用户友好的 GUI 来管理按键绑定、宏和灯光效果,旨在填补其他可行的 Linux 配置方法缺失的空白。
## 功能
- **按键重映射**:配置全部 16 个按键,包括 12 键侧面板。
- **修饰键支持**:将按键绑定为组合键(例如 `Ctrl+Shift+1`、`Alt+F1`)。
- **宏引擎**:可视化宏编辑器,支持录制与编辑事件,具备精确时序控制。
- **RGB 灯光**:完全控制 LED 颜色、亮度与效果(常亮、呼吸、霓虹、关闭)。
- **DPI 配置文件**:配置最多 5 档 DPI 预设,支持自定义档位。
- **轮询率**:调整 USB 轮询频率(125Hz、250Hz、500Hz、1000Hz)。
- **恢复出厂设置**:一键恢复设备至原始状态。
## 截图
### 按键选项卡
为全部 16 个鼠标按键配置绑定。支持键盘按键、鼠标操作、宏、媒体键、DPI 控制以及如火键、三击等特殊功能。更改会暂存并可批量应用。

### 宏选项卡
具备录制功能的可视化宏编辑器。可创建具有精确时序的复杂按键序列,添加手动事件、重新排序步骤并预览输出。宏可上传至鼠标的内部存储器并绑定至任意按键。

### RGB 选项卡
控制 RGB LED 灯光。可从 27 种快速选择颜色中挑选或自定义颜色。提供四种灯光模式:
- **关闭** — 禁用 LED
- **常亮** — 可调节亮度的纯色
- **霓虹** — 颜色循环效果
- **呼吸** — 脉冲渐变效果

### DPI 选项卡
配置最多 5 档 DPI 预设(范围 100–16,000 DPI)。每个档位均可独立设置。鼠标会通过 DPI 按键在启用的预设之间循环切换。

### 轮询选项卡
调整 USB 轮询频率以控制鼠标报告位置的频率:
- **125Hz**(8ms 响应)— CPU 占用最低
- **250Hz**(4ms 响应)
- **500Hz**(2ms 响应)
- **1000Hz**(1ms 响应)— 适合游戏
### 高级选项卡
包含诊断与恢复工具:
- **恢复出厂设置** — 将所有设置恢复为默认值(注意:会清除所有自定义宏!)
- **调试日志** — 查看原始 HID 通信以进行故障排查
## 系统要求
该工具使用 Python 编写,并采用 PyQt6 作为界面框架。
- **Python 3.8+**
- **Cython**(用于 hidapi)
- **hidapi**
- **PyQt6**
### 可选依赖
- **python-evdev** — 用于软件宏回放
- **python-pyusb** — 用于高级设备管理
## 安装
### Arch Linux (AUR)
```
yay -S venusprolinux-git
```
### 手动安装
1. **克隆仓库:**
git clone https://github.com/Es00bac/UtechSmart-Venus-Pro-Linux-MMO-Mouse-Utility.git
cd UtechSmart-Venus-Pro-Linux-MMO-Mouse-Utility
2. **安装依赖:**
pip install cython hidapi PyQt6
3. **运行安装脚本:**
./install.sh
4. **udev 规则(推荐):**
为使鼠标在非 root 用户下可访问,请创建 udev 规则:
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="25a7", ATTRS{idProduct}=="fa07", MODE="0666"' | sudo tee /etc/udev/rules.d/99-venus-pro.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="25a7", ATTRS{idProduct}=="fa08", MODE="0666"' | sudo tee -a /etc/udev/rules.d/99-venus-pro.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="04d9", ATTRS{idProduct}=="fc55", MODE="0666"' | sudo tee -a /etc/udev/rules.d/99-venus-pro.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
## 使用
启动配置工具:
```
venusprolinux
```
或直接从源码运行:
```
python3 venus_gui.py
```
### 使用方法
1. 点击 **读取设置** 以加载当前设备状态。
2. 在 **按键** 选项卡中选择按键、设定操作,然后点击 **暂存绑定**。切换按键时更改会自动暂存。
3. 点击 **应用全部更改** 将暂存的绑定写入设备。
4. 在 **宏** 选项卡中录制或构建宏,然后点击 **上传宏**。
5. 使用 **绑定到按键** 将宏绑定至指定按钮。
### 提示
- **有线与无线**:配置在两种模式下均有效。应用优先使用有线连接,若 USB 断开则自动回退至无线接收器。
- **恢复出厂设置**:若鼠标行为异常,“高级”选项卡中的恢复出厂设置按钮可将所有设置重置为默认(注意:这会清除所有自定义宏!)。
- **自动暂存**:当在列表中切换不同按键时,当前按键的配置会自动暂存。
## 开发
适用于对逆向工程过程或贡献感兴趣的人员:
- `PROTOCOL.md`:当前 USB HID 协议规范。
- `old_stuff/win.md`:Windows 工具行为的归档笔记。
- `venus_protocol.py`:核心协议实现。
- `staging_manager.py`:变更暂存系统。
- `transaction_controller.py`:HID 事务处理。
## 致谢
本工具通过仔细分析 USB 协议捕获数据构建而成,旨在复刻官方 Windows 驱动的行为。
标签:DPI调节, GUI应用, HID协议, Linux驱动, MMO游戏, RGB灯效, UtechSmart, Venus Pro, 二进制发布, 修饰键, 外设配置, 宏录制, 工厂重置, 开源工具, 批量应用, 按钮映射, 时间轴编辑, 游戏外设, 用户态驱动, 硬件逆向, 视觉编辑器, 设备通信, 轮询率, 输入设备, 逆向工具, 键位绑定, 鼠标配置