手柄震动反馈 · Xinput vs DirectInput 切换
前提条件
- 使用 Xbox 360 / Xbox One / Xbox Series X/S 手柄
- 手柄已在 Config → Game Pads → Port 1 正确识别
- 操作系统 Win10 / Win11(Win7 需要手动装 Xbox 驱动)
怎么开震动
Config → Game Pads → Port 1:
面板里通常有 Rumble / Vibration 相关选项:
- 勾选 Enable Rumble Effects 或 Enable Vibration
- 如果有 Mode 下拉框,选 XInput(Xbox 手柄专用)
- 可以调左右马达的力度(Left Motor / Right Motor),默认 50% 就行
- OK 保存
Xinput vs DirectInput 的左右马达反转
这是 ePSXe 2.0.5 修复的一个已知 bug。
原生 PS1 手柄的震动分配是:
- 左马达 = 大震动(爆炸、撞击)
- 右马达 = 小震动(轻微触感)
而 Xbox 手柄的 Xinput 驱动原本把左右马达的信号搞反了——大震动去了右边,小震动去了左边。ePSXe 2.0.5 做了自动修复,所以用内置 INPUTCORE 插件 + XInput 模式就没这个问题。
但如果你用的是第三方手柄插件(比如 PadPeOps、LilyPad),可能还是需要手动勾选 "Swap Motor L/R" 之类的选项。
测试震动
配好后,运行一个你确定有震动反馈的游戏——比如:
- 《合金装备》:C4 爆炸时手柄应该震动
- 《铁拳》:被击中时手柄有震动
- 《GT 赛车》:碰撞和漂移有震动
进入游戏触发一次震动事件,感受一下是否正常。如果一点反应都没有:
- 确认手柄是 XInput 模式(Config → Game Pads → Mode 下拉框)
- 确认 Windows 设备管理器里手柄驱动正常
- 确认 Xbox 手柄驱动的震动没被禁用(控制面板 → 游戏控制器 → 手柄属性 → 震动测试)
为什么部分游戏不支持震动
PS1 时代的震动功能并不是所有游戏都有——只有开发时专门接入了振动器 API 的游戏才支持。大约 60% 的 PS1 游戏有震动支持。如果某个游戏你明明开了震动但完全没反应,先确认这款游戏原生支持震动吗。
老手柄怎么办
老的 DirectInput 手柄(比如 PS2 手柄 + PC 转换线)通常震动支持不好——这些手柄在 PC 上的驱动经常不完整,ePSXe 的 DirectInput 震动模拟也不如 XInput 成熟。建议还是用 Xbox 手柄获得最好的震动体验。