手柄测试
在浏览器中测试按键、摇杆、死区、轮询率和震动功能
您的浏览器不支持 Gamepad API,请使用基于 Chromium 的现代浏览器。
按键
—
死区分析
漂移检测:幅度 < 0.02 = 无漂移;0.02-0.03 = 检测到漂移(保持摇杆居中 0.5 秒)
震动测试
双马达震动
扳机震动
扳机震动需要 Xbox 手柄配合基于 Chromium 的浏览器使用
此浏览器或手柄不支持震动功能
轮询率
通过 rAF 帧时间戳估算(当 gamepad.timestamp 变化时)。受显示器刷新率限制(典型值 60–144 Hz)。
输入延迟(JS 层)
测量 gamepad.timestamp 更新到 rAF 回调之间的延迟。不包含硬件和操作系统层面的延迟。
连点速度测试
尽可能快速按下所选按钮。点击开始后有 3 秒倒计时准备时间。
触摸板 API 不可用
您当前的浏览器或手柄不支持触摸数据。请在 Chromium 浏览器中连接 DualSense 或 DualShock 4 手柄,并启用 Gamepad Multitouch 标志位。
启用方法:打开 chrome://flags,搜索「Gamepad Multitouch」,设置为「已启用」,然后重启浏览器。
请先连接手柄
触摸面信息
当前触摸点
无活跃触摸——请将手指放在触摸板上
这个工具到底测什么?
本页通过浏览器内置的 Gamepad API,实时读取你的手柄按键原始数值、摇杆位置、扳机行程和震动状态。所有处理都在本地浏览器标签页里完成,不会向任何服务器发送数据。如果你感觉手柄某个地方有点不对劲,这里是排查问题的好起点——能帮你判断是硬件问题、固件问题,还是游戏死区设置没调好。
连接你的手柄
通过 USB 连接或进行蓝牙配对,然后按下手柄上的任意按键。浏览器需要收到至少一次输入事件才会激活手柄,这是防止被动指纹识别的安全机制。状态栏变绿后,你会看到手柄名称和实时更新指示灯。如果同时插了多个手柄,状态栏里的下拉菜单可以用来切换。
所有基于 Chromium 的浏览器(Chrome、Edge、Opera)和 Firefox 52+ 都支持 Gamepad API,Safari 从 16.4 版起提供基础支持。Xbox 有线/无线接收器、PlayStation DualSense 和 DualShock 4、Switch Pro Controller,以及大多数通用 USB HID 手柄都能直接使用,无需额外配置。震动功能需要 Chrome 或 Edge——Firefox 不提供 vibrationActuator 接口。任天堂 Joy-Con 在部分操作系统上按键映射可能不完整。
诊断标签页——手柄背后的数据
轮询率
显示浏览器每秒读取手柄状态的次数。大多数有线手柄以 125 Hz(8 ms 间隔)上报,部分电竞手柄可达 250 Hz 乃至更高。这里的数值受 requestAnimationFrame 限制,不会超过显示器刷新率。如果 144 Hz 显示器上只显示 60 Hz,换个 USB 口试试——2.0 和 3.0 口之间有时会影响 HID 轮询频率。
死区检测
把左摇杆转满一圈,观察散点图的分布情况。每个点是一次静止采样;点群偏离中心越远,说明摇杆的物理偏移或磨损越明显。根据这个实测数据来设置游戏内的死区值,比盲猜要靠谱得多。松手后摇杆持续偏离中心超过 3–5% 的,是漂移的早期信号。
输入处理延迟
测量从浏览器更新手柄状态(gamepad.timestamp)到页面在 requestAnimationFrame 中处理该事件之间的时间差。正常情况下在 1–5 ms 之间。超过 16 ms 的尖刺通常是浏览器标签页负载太重,不是硬件出了问题。注意:这里测的是浏览器层的开销,从物理按键到游戏引擎响应的完整延迟要更高,只有专用硬件测试设备才能准确量出来。
健康检测向导——掌握你手柄的真实状态
点开向导标签页,按下开始,系统会引导你完成六步检测:按遍所有按键、把两根摇杆各转满一圈、将两个扳机完整按下再松开、按下十字键的四个方向、松开摇杆等待漂移测量、测试每个震动马达。不支持某项功能的硬件可以跳过——跳过的步骤会在报告里单独标注,不影响整体评级。
怎么看检测结果
每一步会得到通过、警告或失败三种结果之一。按键出现警告表示有些按键没测到;漂移失败说明摇杆完全松手后仍有明显的偏离中心噪声。整体评级:优秀(全部通过)、良好(有轻微警告)、需关注(存在失败项)。点「复制报告」可获取纯文本,粘到任何地方都行;点「导出图片」可生成一张方便分享的报告卡——申请保修或发帖求助时挺有用。
触摸板测试——实验性功能
触摸板标签页使用的是 Gamepad Multitouch API,这是 Chromium 的一项开发试验性功能,能读取手柄触摸板的原始坐标数据。按下方步骤启用 Chrome 标志位,然后通过 USB 连接受支持的手柄,就能看到实时手指轨迹、坐标读数、速度追踪和基础手势识别。以下各节分别说明支持的硬件、Windows 蓝牙的问题,以及 API 的已知限制。
如何启用
在 Chrome 114 或更高版本中打开 chrome://flags/#enable-gamepad-multitouch,将对应条目设置为「已启用」,然后重启浏览器。启用后连接兼容手柄,触摸板标签页会自动解锁,不需要其他配置。
支持的手柄
Chrome 的多点触控驱动目前支持:Sony DualSense(PS5)、Sony DualShock 4(PS4)、Valve Steam Deck 和 Valve Steam Controller。两款 Sony 手柄都具备双指多点触控硬件——DualShock 4 的触摸面物理分辨率为 1920×942 px——但受当前 Dev Trial 实现限制,每帧最多只上报一个触摸点。
在 Windows 上通过蓝牙连接 DualShock 4 或 DualSense 时,系统通常会把连接交给通用 HID 层或 XInput 接口处理,而不是把原始 HID 报文直接转给 Chrome。Chrome 的触摸板驱动需要 ID 为 0x11 的原始蓝牙 HID 报文才能读取触摸数据——如果 Windows 先接管了连接,gamepad.touchEvents 会返回空数组或 null,触摸板标签页会显示「API 不可用」,即便按键和摇杆功能完全正常。三种解决方案:改用 USB 线连接(最稳定);安装 DS4Windows,它会通过蓝牙以原始 HID 方式暴露给 Chrome;在 Linux 或 macOS 上蓝牙连接通常无需额外操作。
已知的 API 限制
有几个已知的边界情况:Dev Trial 目前每帧最多只上报一个触摸点,即便硬件支持双指同时触控——第二根手指会在下一帧出现。触摸抬起事件(松开手指)有时无法可靠上报,本工具用 750 毫秒的超时机制来兜底。把触摸板当按键按下时坐标会短暂跳变,本工具会在这段时间冻结位置,防止出现幻影移动。只有基于 Chromium 的浏览器支持 gamepad.touchEvents 属性——Firefox 和 Safari 不实现这个 API。