更改 Windows 8.1 中游戏控制器的顺序

Bri*_*Bri 3 windows game-controller windows-8.1

我有一台运行 Windows 8.1 的游戏电脑。它始终存在一个问题,即任何连接的控制器的顺序不断任意更改。我已经配置了许多游戏和模拟器以期望控制器按特定顺序排列,但是当我打开“游戏控制器”控制面板(即 Joy.cpl)或运行 dxdiag 时,我可以看到控制器的顺序已更改,弄乱了解除我所有的绑定。

这仅影响使用 DirectInput 从控制器读取输入的游戏。使用 Xinput 的游戏可以正常运行。

我很清楚,这些游戏正在使用 DirectInput 枚举控制器的顺序来确定它们在游戏中的顺序。这与它们在“游戏控制器”控制面板中出现的顺序相同。

有什么办法可以改变这个顺序吗?

到目前为止,我唯一发现的是,如果我物理断开作为控制器或为控制器提供接口的 USB 设备(例如 Xbox 360 无线接收器或 USB 蓝牙适配器),然后将其重新插入,这些控制器将被移动到列表的末尾。但这就是我所拥有的一切。而且我不知道如何使这个过程自动化。我尝试使用 devcon 命令自动删除这些设备并重新扫描,虽然它有时有效,但通常它会报告需要重新启动计算机才能删除设备,这意味着它对 DirectInput 枚举顺序没有影响。

Bri*_*Bri 5

多年来,由于 Windows 8.1 的控制器任意排序,我的控制器绑定变得混乱,而且没有办法重新排序它们,我自己动手编写了这个工具:devreorder