如何以非弃用的方式访问Windows上的操纵杆?

时间:2016-12-10 15:50:13

标签: windows joystick xinput

我想写一个访问操纵杆的Windows应用程序。它只是一个非常简单的应用程序,它读取值并将它们发送到服务器,所以我没有使用任何游戏编程框架。但是,我对使用哪种API感到困惑。

我查看了多媒体操纵杆API,但这被描述为被DirectInput取代。所以我看了DirectInput,但是这也被弃用了,而不是XInput。 然而,XInput文档仅讨论Xbox360控制器,并表示它不支持传统的DirectInput设备"。

微软是否将整个HID操纵杆使用类型委托给垃圾箱并放弃支持它们以支持他们自己的专有控制器产品,或者我错过了什么?

1 个答案:

答案 0 :(得分:1)

最常见的解决方案是使用XInput和DirectInput的组合,以便您的应用程序可以正确访问这两种类型的设备。 Microsoft甚至提供instructions on how to do this

请注意,DirectInput不适用于Windows应用商店应用,因此如果您打算通过那里分发,则不能选择。

XBox 360控制器之类的XInput设备也可以与DirectInput配合使用,但有一些限制。值得注意的是,左右触发器将映射到同一轴而不是独立的,并且振动效果将不可用。