ePSxe 中文文档 下载 App

手柄震动反馈 · Xinput vs DirectInput 切换

前提条件

怎么开震动

Config → Game Pads → Port 1:

面板里通常有 Rumble / Vibration 相关选项:

  1. 勾选 Enable Rumble Effects 或 Enable Vibration
  2. 如果有 Mode 下拉框,选 XInput(Xbox 手柄专用)
  3. 可以调左右马达的力度(Left Motor / Right Motor),默认 50% 就行
  4. OK 保存

Xinput vs DirectInput 的左右马达反转

这是 ePSXe 2.0.5 修复的一个已知 bug。

原生 PS1 手柄的震动分配是:

而 Xbox 手柄的 Xinput 驱动原本把左右马达的信号搞反了——大震动去了右边,小震动去了左边。ePSXe 2.0.5 做了自动修复,所以用内置 INPUTCORE 插件 + XInput 模式就没这个问题。

但如果你用的是第三方手柄插件(比如 PadPeOps、LilyPad),可能还是需要手动勾选 "Swap Motor L/R" 之类的选项。

测试震动

配好后,运行一个你确定有震动反馈的游戏——比如:

进入游戏触发一次震动事件,感受一下是否正常。如果一点反应都没有:

  1. 确认手柄是 XInput 模式(Config → Game Pads → Mode 下拉框)
  2. 确认 Windows 设备管理器里手柄驱动正常
  3. 确认 Xbox 手柄驱动的震动没被禁用(控制面板 → 游戏控制器 → 手柄属性 → 震动测试)

为什么部分游戏不支持震动

PS1 时代的震动功能并不是所有游戏都有——只有开发时专门接入了振动器 API 的游戏才支持。大约 60% 的 PS1 游戏有震动支持。如果某个游戏你明明开了震动但完全没反应,先确认这款游戏原生支持震动吗。

老手柄怎么办

老的 DirectInput 手柄(比如 PS2 手柄 + PC 转换线)通常震动支持不好——这些手柄在 PC 上的驱动经常不完整,ePSXe 的 DirectInput 震动模拟也不如 XInput 成熟。建议还是用 Xbox 手柄获得最好的震动体验。