我想编写一个访问操纵杆的 Windows 应用程序。它只是一个非常简单的应用程序,它读取值并将它们发送到服务器,所以我没有使用任何游戏编程框架。但是,我对使用哪个 API 感到困惑。
我查看了 Multimedia Joystick API,但它被描述为已被 DirectInput 取代。所以我查看了 DirectInput,但这也不推荐使用 XInput。 然而,XInput 文档仅讨论了 Xbox360 Controller ,并表示它不支持“旧版 DirectInput 设备”。
Microsoft 是否已将整个 HID 操纵杆使用类型归入垃圾箱并放弃支持他们以支持他们自己的专有 Controller 产品,还是我遗漏了什么?
最佳答案
最常见的解决方案是结合使用 XInput 和 DirectInput,这样您的应用程序就可以正确访问这两种类型的设备。微软甚至提供instructions on how to do this .
请注意,DirectInput 不适用于 Windows 应用商店应用,因此如果您打算通过那里进行分发,那不是一种选择。
像 XBox 360 Controller 这样的 XInput 设备也可以使用 DirectInput,但有一些限制。值得注意的是,左右触发器将映射到同一轴而不是独立的,并且振动效果将不可用。
关于windows - 如何以未弃用的方式访问 Windows 上的操纵杆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41077324/