6.2 KiB
6.2 KiB
任务执行摘要
会话 ID: vita-gamepad-initial
- [2026-07-17 17:23:15]
- 执行原因: 从零实现 PSVita 在同一 Wi-Fi 下作为 Windows/macOS 游戏手柄使用的基础项目。
- 执行过程:
- 设计 20 字节低延迟 UDP 输入协议、局域网自动发现机制和断线松键保护。
- 实现 PSVita 端双摇杆、物理按键及前后触摸板采集,并以约 120 Hz 发送。
- 实现 Windows ViGEm/XInput 虚拟 Xbox 360 手柄后端。
- 实现 macOS IOHIDUserDevice 通用 HID 游戏手柄后端。
- 补充电脑端安装入口、VitaSDK 构建配置、按键映射、协议和排障文档。
- 完成协议编解码、序列号回绕、UDP 接收、旧包过滤和断线保护测试。
- 执行结果: 已形成可构建的跨端 MVP;电脑端 6 项自动化测试全部通过。当前环境未安装 VitaSDK,VPK 需在配置 VitaSDK 的机器上完成编译;macOS 创建虚拟 HID 需要管理员权限。
会话 ID: vita-gamepad-publish
- [2026-07-17 17:34:57]
- 执行原因: 将 Vita Gamepad 项目发布到用户指定的 Git 远程仓库。
- 执行过程:
- 检查本地工作区、当前分支和提交历史。
- 确认目标远程仓库为空,避免覆盖既有提交。
- 提交项目全部源码、测试与文档。
- 配置远程地址并推送 main 分支。
- 执行结果: Vita Gamepad 项目已提交并推送至指定仓库。
会话 ID: vita-gamepad-build
- [2026-07-17 18:30:51]
- 执行原因: 为用户直接交叉编译 PSVita 安装包,并生成当前 Mac 可用的电脑接收端。
- 执行过程:
- 下载 VitaSDK 2.540 macOS ARM64 官方工具链并安装 libvita2d。
- 根据当前 VitaSDK API 修正过时的退出回调代码,使用警告即错误配置完成交叉编译。
- 生成 128×128 图标、840×500 LiveArea 背景和 280×158 启动图,并重新封装 VPK。
- 使用 PyInstaller 生成 macOS ARM64 单文件接收端,并进行真实 UDP 输入与断线保护测试。
- 校验 VPK 内全部文件、运行 6 项自动化测试并生成 SHA-256 校验值。
- 执行结果: 已生成可安装的
VitaGamepad-0.1.0.vpk和VitaGamepadReceiver-macOS-arm64.zip;VPK 完整性与全部自动化测试均通过。
会话 ID: vita-gamepad-vpk-fix
- [2026-07-17 18:44:34]
- 执行原因: 修复 PSVita 安装 VPK 时出现的
0x8010113D错误。 - 执行过程:
- 检索并确认错误对应 LiveArea PNG 资源格式校验失败。
- 检查发现原资源为 32 位 RGBA,而 Vita 包推广器要求 8 位索引色 PNG。
- 修改资源生成器,以 256 色调色板重新生成全部 LiveArea 图片。
- 将内部版本提升至 01.01,重新交叉编译并封装修正版 VPK。
- 解包复检三个 PNG 均为 8-bit colormap,并完成 VPK 完整性及自动化测试。
- 执行结果: 已生成修正版
VitaGamepad-0.1.1-fixed.vpk,包内资源格式和压缩完整性检查全部通过。
会话 ID: vita-gamepad-dashboard
- [2026-07-17 18:50:00]
- 执行原因: 为电脑接收端增加可开启、暂停并显示实时日志的操作界面。
- 执行过程:
- 实现仅监听本机地址并带随机访问令牌的浏览器控制面板。
- 增加开启、运行、暂停和错误状态管理,暂停时停止接收并释放虚拟手柄。
- 展示 Vita IP、输入端口、实际后端、运行时间以及最多 500 条实时日志。
- 保留原命令行入口,并增加独立的
vitapad-gui程序入口。 - 新增状态切换自动化测试,并对打包后的 macOS ARM64 程序执行真实接口测试。
- 执行结果: 已生成
VitaGamepadDashboard-macOS-arm64.zip,开启、暂停、状态及日志功能验证通过,自动化测试增至 7 项。
会话 ID: vita-gamepad-input-preview
- [2026-07-17 19:03:00]
- 执行原因: 在电脑端增加 PSVita 当前输入的实时可视化测试功能。
- 执行过程:
- 为接收器增加输入状态回调,并在断线、暂停时同步推送中立状态。
- 通过本机 Server-Sent Events 实时传输输入,不依赖低频日志轮询。
- 绘制手柄预览,覆盖方向键、动作键、L1/R1、L2/R2、Start/Select、L3/R3 和双摇杆。
- 实现按下高亮、松开复原、摇杆位置跟随和扳机压力百分比显示。
- 使用持续模拟输入完成浏览器视觉检查,并验证 390px 窄屏无横向溢出。
- 执行结果: 实时预览能正确显示组合按键、摇杆与扳机状态,松手后全部恢复;自动化测试增至 8 项。
会话 ID: vita-gamepad-macos-hid-diagnosis
- [2026-07-17 19:13:02]
- 执行原因: 解释并诊断 macOS 无法创建虚拟 HID 手柄的错误。
- 执行过程:
- 在 macOS 26.2 普通用户环境复现 IOHIDUserDeviceCreate 返回空值。
- 检查打包程序签名,确认当前为无 Team ID、无 entitlement 的 ad-hoc 签名。
- 核对 Apple 当前对 IOHIDUserDevice、CoreHID 虚拟设备和游戏控制器的支持边界。
- 区分普通权限不足与新版 macOS 受限 entitlement 两种失败情形。
- 执行结果: 错误并非网络或 Vita 输入导致,而是 macOS 拒绝创建系统级虚拟 HID;普通运行可先尝试 sudo,新版系统若仍失败则需要 Apple 授权的虚拟 HID entitlement 或 DriverKit 方案。
会话 ID: vita-gamepad-windows-guide
- [2026-07-17 19:16:55]
- 执行原因: 补充 Windows 使用文档、自动打包脚本,并提交此前完成的功能代码。
- 执行过程:
- 将 Windows 10/11 的 ViGEmBus 驱动安装、Python 环境和控制面板启动步骤写入 README。
- 增加同一 Wi-Fi 连接、实时按键预览及 joy.cpl 系统手柄测试说明。
- 补充防火墙、驱动识别、PowerShell 策略和端口占用排查方法。
- 新增 PowerShell 自动打包脚本,用于生成 VitaGamepadDashboard.exe。
- 同步修正 macOS 实验性 HID 后端的限制说明及项目版本号。
- 运行 8 项自动化测试并检查代码差异后提交、推送。
- 执行结果: README 已包含完整 Windows 操作指南,Windows EXE 打包入口已加入,项目功能与文档已提交至远程仓库。