XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

LogiBoardToolBox

【WinUI】罗技鼠标板载驱动程序

公开
关注 0 Fork 0 Star 0
UTF-8

G502 X PLUS:G HUB 功能与交互基准

2026-10-23,通过用户截图和本机已安装 G HUB 的页面资源、中文文案、设备定义核对。先通过本机资源核对,再通过 UI Automation 导航和 PrintWindow 取得设备分配、灵敏度、LIGHTSYNC、宏命名/类型/序列编辑、设备设置页。用户新增后台验收偏好后,不再还原或操作 G HUB 窗口;后续使用已有参考图与新应用自身后台渲染。

产品目标

沿用现有 WinUI 3、MVVM、导航、设置和日志架构。设备配置流程与 G HUB 对齐,在此基础上新增直接板载写入。协议参数、十六进制数值和脚本文本不能成为普通设置的必经步骤。

已核对的来源

  • C:\Program Files\LGHUB\resources\app.asar:当前安装版的页面组件与状态结构。
  • C:\ProgramData\LGHUB\depots\876190\core\data\strings\common\zh-CN.yaml:功能分类、宏类型、宏序列分段、录制、标准延迟、DPI、LIGHTSYNC、板载设置的文案。
  • 设备资源 8807090d-3e9c-4dfe-a6a6-a863d7b688d4 与 97b085d9-0fde-406b-8bcd-b244746387e7 的 manifest.json、metadata.json、defaults_override.json、light_map.json:G502 X PLUS 视图、按键位置、默认设置、X/Y DPI、8 个灯区。
  • 用户提供的“按键分配 / 宏”截图。

页面 JS/CSS 仅在被忽略的 artifacts/ghub-reference 中供核对,没有复制为应用实现。设备图和字体已用于用户要求的本地还原,详见 ASSET-PROVENANCE.md。

功能与交互

区域 G HUB 行为 本项目对应要求
设备页 型号、配置选择、设备设置入口 保留设备中心;板载槽作为配置目的地
按键分配 命令、按键、操作、宏、系统五个分类;搜索;拖至鼠标点位 分类和鼠标点选为主要操作,隐藏底层编码
设备视图 正面、侧面;点位与功能标签相连 两个视图共用同一组真实绑定
G-Shift 默认层与 G-Shift 层切换 独立编辑和保存,不能清空另一层
鼠标操作 左右中键、前后退、横滚、DPI、配置循环等 可选的人类可读命令,不能要求手输枚举
系统 媒体、编辑、鼠标、软件控制、启动应用 区分固件可执行动作和需要主机的动作
宏 不重复、按住时重复、触发、序列 四种模式;序列为点击、按住、松开三个片段
宏编辑 录制、开始/停止、标准延迟、按下/释放、插入延迟、文本、系统/程序动作 可视化步骤编辑,文本脚本仅作高级入口
灵敏度 预设、五档 DPI、活动/默认/Shift、X/Y 分离、有线/无线回报率 保留这些概念,逐项映射到设备能力
LIGHTSYNC 预设、自由、动画;颜色、速度、亮度;8 个灯区 支持区分设备端效果、软件动态效果和动画
设备设置 板载模式、配置槽、固件、电量、电源管理、灯光设置 板载模式仍可编辑,增加备份、恢复和写入校验

需要纠正的初版设计

  • 普通用户不应通过 special 参数、HID 键码或脚本给鼠标分配常用操作。
  • 配置页不能用一组协议表单替代 G HUB 的设备点位、分类库和宏编辑流程。
  • 主机模式和板载模式需要共用用户可理解的配置模型;不能把软件模式的所有能力直接当作固件能力。
  • “序列宏”和启动应用、软件集成、屏幕取色、音频响应等依赖主机的功能,必须有相应的软件执行实现;不能将它们显示为已支持的板载功能。
  • 未经该型号实测的写入不能标注为完整适配或已验证。

已读取的实际设备

G502 X PLUS 经 LIGHTSPEED 接收器 046D:C547,HID++ 地址 01,描述字节为 01 0A 01 05 02 0B 10 00 FF 0A 04。

  • 配置格式 10、宏格式 1、5 个配置槽、11 个物理按键、16 × 255 字节。
  • 普通按键表从 0x20 起,G-Shift 表从 0x60 起,名称区从 0xA0 起。
  • 当前用户配置 CRC 校验通过;读取时为主机模式,活动板载地址为 0。
  • 旧格式中的回报间隔字节为 FF,不能解释成 255 ms 或自动显示为 1000 Hz。
  • 0x56..0x5F 出现第二组 DPI 数据,应保留,不能当作普通按键记录覆盖。
  • 已执行基础单次连点宏和固件预设灯效的实机写入/读回;G5 物理触发 5 次点击,平均间隔 101.997ms;已恢复原始 19 扇区及模式/活动配置。断电保持、按住/触发循环、完整序列仍未完成物理实测。

本轮交互核对与实测边界

继续只读分析本机已提取的页面组件、样式、中文文案与动画数据,没有使用电脑技能,也没有重新激活 G HUB。下列 G HUB 操作逻辑来自本机资源;新软件的控件路径使用程序调用 WinUI 控件和状态转换验证,不能将其等同于对当前 G HUB 的完整运行交互测试。

  • 宏:名称输入并按 Enter → 选择四种类型 → 编辑事件 → 保存;取消创建移除临时条目,取消编辑恢复原内容。实际保存按钮通过自动化控件接口调用,并读回独立宏库文件。
  • 动画:内置动画编辑生成副本;选帧、单灯区着色、过渡曲线、帧时长、插入/复制/删除/重排、预览/定位、缩放、方向与默认速度;保存写入动画库,取消恢复进入前的快照。指针拖放没有被全局输入模拟,重排验证使用与拖放处理器相同的方法。
  • HERO:介绍 → 源鼠标/DPI → 同时移动约 10 英寸 → 传感器完成/失败 → 详情/命名。G HUB 在板载模式禁用该入口。本机 0x2202 能力为 0x0D:板载模式函数 8 返回 0x05,切到实际软件模式后正常读到宽 60、长 125、400×400 DPI。现已按模式控制入口,并在切换配置后刷新能力;此前将该错误归为固件故障的判断已纠正。双鼠标成功测量/保存尚未物理实测。
  • LIGHTFORCE:0x8090 状态位 0,混合/仅光学为设备级设置,按四字节掩码更新并保留其他位。已切换两种值并读回、恢复。
  • 启动效果:0x8071 非易失配置,保留六个不透明参数;已开/关切换并读回、恢复。
  • 板载配置:选择板载槽即启用自动保存;有效编辑合并 200ms 手势后写入,备份、串行、读回一致后显示已保存。切换配置前等待未完成事务;不将软件草稿覆盖到同编号的板载槽。

对应证据在 work/visual/advanced-build/。HERO 成功测量与保存、自定义动画 EEPROM 播放、G HUB 云端/游戏集成以及真实指针拖放和录制全流程仍不能标记为全部验证。

视觉核验

最终验收需求冻结于 work/visual/requirements.json。应用以原尺寸导出 RenderTargetBitmap 与可见控件布局;使用 background-visual-check 的原图、原比例分块、局部放大、OCR、同尺寸并排和差异图核对,并逐项记录 pass/fail/uncertain。测试通过不等于全部视觉达标。

仍存在 G HUB 高级功能与细节差异,不能将设备页的局部还原写成整个 G HUB 的一比一完成。