问题和解决方式
Xbox手柄在Windows平台无法使用,我居然放置这个问题始终没有解决。。
然而解决起来却很简单:
「Rewired设置面板」 > Windows平台 > ☑️ Use XInput 勾选!
根据说明文档 ,在Window平台的设置面板中,Input Source选择【RawInput】(不可选XInput,否则将使支持xinput的手柄之外的手柄都无法识别!)而下面的Use Xinput要勾选,如此,支持XInput的手柄都会被识别为Xbox 360,不支持XInput的手柄会使用RawInput识别。
解决前后对比
内容:Win10 蓝牙连接 Xbox手柄
未勾选Use XInput:获取GUID=000000,且按键全部无响应,debug出来Is Recognized: No
勾选Use XInput:获取GUID正常(识别为Xbox360的GUID),使用正常,Is Recognized: Yes
Debug记录
以下为目前(修复后)测试的记录。
Mac 蓝牙连接
GUID | Name | HardwareName | Is Recognized | |
---|---|---|---|---|
Xbox One | 19002688-7406-4f4a-8340-8d25335406c8 | Xbox One Controller | Xbox Wireless Controller | Yes |
Sony ds4 | cd9718bf-a87a-44bc-8716-60a0def28a9f | Sony DualShock 4 | Wireless Controller | Yes |
Windows10 蓝牙连接
GUID | Name | HardwareName | Is Recognized | |
---|---|---|---|---|
Xbox One | d74a350e-fe8b-4e9e-bbcd-efff16d34115 | XInput Gamepad 1 | XInput Gamepad | Yes |
Sony ds4 | cd9718bf-a87a-44bc-8716-60a0def28a9f | Sony DualShock 4 | Wireless Controller | Yes |
备注
最后的补救方案(未测试)
配置Unknown Joystick Map,即使是无法识别的controller也可以使用。参见:未知控制器
对于无法识别的控制器(此处未列出控制器),Rewired 将使用 Unknown Controller 映射(无论您是否为此定义映射)。……
建议您创建一个未知控制器映射,以便无法识别的控制器至少可以在某种程度上立即工作,而无需手动用户映射。虽然您无法知道哪个轴或按钮对应于用户插入的控制器上的哪个元素,但下表显示了未知游戏手柄的最常见布局:
Controller Element | Maps To |
Left Stick X | Axis 0 |
Left Stick Y | Axis 1 (inverted) |
Right Stick X | Axis 2 |
Right Stick Y | Axis 3 (inverted) |
Buttons | Button 0-X |
D-Pad (optional) | Hat 1 |