【发布时间】:2019-02-04 21:59:39
【问题描述】:
我为这个奇怪的标题道歉,但这是我现在能想到的最好的。所以我有一个项目,我正在构建一个充当游戏控制器的 HID 设备。我正在考虑模拟控制器,以便它在 Windows PC 上显示为 Xbox 360 控制器。有一个不错的 API,称为 XInput API 用于游戏,以便他们可以使用 360 控制器。我想利用这一点。
我目前正在研究如何将微控制器编码为 PC 上的 360 度控制器。我确实有一些问题,希望在该领域有更多专业知识的人可以帮助我。
1) 我正在研究 HID 标准。我想知道,是否有为游戏控制器指定的 HID 标准的单独子类,我可以使用它与 XInput API 兼容?或者至少,HID 标准中是否有游戏控制器的规定?
2) 我在这里找到了有关如何使用 XInput API 的文档:https://docs.microsoft.com/en-us/windows/desktop/xinput/getting-started-with-xinput
现在,我想知道,是否有任何文档说明如何使 HID 设备与 XInput API 兼容,或者我是否会做一些逆向工程,使用 API 来指导我如何对微控制器进行编码?
3) 最后,是否有任何关于 PC 用于与 Xbox One 控制器通信的 API 的文档?还是它仍然是 XInput API?还是 Gamepad 类 (https://docs.microsoft.com/en-us/uwp/api/windows.gaming.input.gamepad)
感谢您抽出宝贵时间阅读本文,期待您的回复!
【问题讨论】:
-
XINPUT 不使用 HID,它使用用于 Xbox 360 控制器的 XUSB 或用于 Xbox One 的 GIP。这些设备的 Windows 驱动程序还模拟 HID 以与旧版 DirectInput 一起使用。
-
您好查克,感谢您的回复。 USB 标准中是否有关于创建 XUSB 设备的规定?另外,关于如何将设备编码为 XUSB 和/或 GIP 设备,是否有任何好的资源?
标签: usb hid xbox360 xbox-one xinput