手柄连上但游戏识别不了?XInput 与 DInput 协议排查
手柄蓝牙已连接、灯也亮,进游戏却没反应,或者只能当鼠标用。这通常不是手柄坏了,而是 XInput 与 DInput 协议不匹配、驱动缺失或 Steam 配置问题。下面逐步解决。
一、确认连接与供电
- 蓝牙列表里确认手柄显示为『已连接』而非『已配对』。
- 电量过低会断连,先充满再试。
- 有线手柄换根线,部分线只充电不传数据。
二、用 Steam 的控制器支持
- 打开 Steam 设置→『控制器』→『通用控制器设置』。
- 勾选对应手柄类型(Xbox/PS/任天堂)。
- 在『桌面配置』确认能识别到按键,再进游戏。
三、XInput 与 DInput 转换
老游戏只认 DirectInput,而 Xbox 手柄走 XInput,导致识别不了。用 x360ce 或 DS4Windows 把手柄模拟成 XInput 设备即可被识别。
四、检查 HID 与驱动
- 设备管理器里看是否有带感叹号的手柄设备。
- 右键更新驱动,选『自动搜索』。
- 若是第三方手柄,去官网装专用驱动而非系统通用。
五、游戏内选项与权限
进游戏设置确认『输入设备』选了手柄而非键鼠。以管理员身份运行游戏,避免权限不足读不到控制器。EA、育碧等平台客户端也需在设置里开启手柄支持。
技术总结:手柄连上不识别,多半是协议(XInput/DInput)不匹配或 Steam 配置未开。用 x360ce 转协议、开 Steam 控制器支持、装对驱动,基本可解。