三天攻克 PS5 蓝牙协议

2026 年 6 月 · 朗州浪子 + AI 搭档霍去病 · 三天高强度逆向

📅 第一天:翻遍全球,拼凑地图

索尼把 PS5 DualSense 的蓝牙协议藏得很深。HID 报告格式没有公开文档——USB 有线模式资料尚有一些,蓝牙无线模式几乎全是空白。

我和我的 AI 搭档「霍去病」(DeepSeek-V4-Pro)干的第一件事,不是写代码,而是翻遍全球社区:

Linux 内核源码的 hid-playstation 驱动、 nondebug/dualsense 的逆向笔记、 controllers.fandom.com 的位掩码对照表、 dsremap 的 HID 配置逻辑、 PS5 Dev Wiki 的碎片记录——

把这些散落各处的线索拼成一张地图。到凌晨,我们锁定了关键点:蓝牙模式下存在 0x01 和 0x31 两套不同的 HID 报告格式,USB 下的 0x01 和蓝牙下的 0x01 字节布局也不一样。事情不止表面那么简单。

📅 第二天:硬碰硬,正面冲击

第二天直接动手。第一个坑:Feature Report 0x05 校准数据读取,返回 ERROR_BUSY(错误码 170)。手柄刚连上蓝牙时设备句柄不稳定,一次读取被拒。

霍去病不像普通助手那样绕着走——「直接加重试逻辑,加延迟,重新打开设备句柄,再来。」三次尝试,每次间隔 200ms,第三次通过。

第二个坑:蓝牙 0x31 模式。部分按键在蓝牙模式下丢失——触发器和十字键有偏移。我们引入 三偏移自动识别系统:运行时动态匹配 USB 0x01 / BT 0x01 / BT 0x31 三种方案,自动切换。

霍去病当年封狼居胥不是靠绕路——他冲进狼山就是最快的路。

📅 第三天:收刀入鞘

三偏移系统跑通。蓝牙模式下,十字键、功能键、扳机、摇杆、电池电量——全部正常解析,不需要插一根线。

最终的成果,就是你现在看到的 YzzPadView


后续计划

触摸板解析和蓝牙震动功能,会随着 B 站 UP「朗州浪子」的关注数量逐步推进。关注的人够多了,我就开工。

关注 B 站 → 朗州浪子

← 返回首页