我在使用 PlayStation 版 Backbone One 开发浏览器游戏时不断遇到控制器问题。它在手机和 Steam 上正常工作,但在 Windows Chrome 上需要特殊处理。

https://github.com/Samfa12-tech/backbone-controller-mapping-chrome

主要发现:

  • Chrome 将该设备报告为 Gamepad.mapping 为空,而非 “standard”。它提供 10 个轴和 17 个按钮。
  • 右摇杆的 Y 轴是第 5 个轴。第 3 个轴是右扳机,默认值为 -1。将其视为标准右摇杆轴可能导致持续移动或菜单滚动。
  • D 按键是在第 9 个轴上的 POV 帽。其 neutral(中立)值约为 1.2857,超出常规 -1 到 +1 范围。先对其进行 clamping(限制)可以把 “未按下” 转换为对角输入。
  • 三个点、菜单和 Backbone 按钮是独立的输入。L3 和 R3 也与标准映射不同。

仓库包含了测量得到的映射、JSON 配置文件、一个小的 JavaScript 适配器、固定测试用例以及本地专用的捕获页面。适配器有意仅限于匹配的原始 Windows 签名。标准映射的控制器应保持原有处理方式,显式的用户校准应优先。

此结果基于一台通过 USB 连接至 Windows Chrome 的 Backbone 型号进行验证,并非声称所有 Backbone 或浏览器组合都使用相同的布局。捕获工具不会上传任何数据。

希望这能帮助其他人少些排查时间。如果你测试过其他 Backbone 版本或浏览器组合,我很想比较结果。