6

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

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

Microsoft 是否已将整个 HID 操纵杆使用类型扔进垃圾箱并放弃支持他们转而支持他们自己的专有控制器产品,还是我遗漏了什么?

4

1 回答 1

2

最常见的解决方案是结合使用 XInput 和 DirectInput,以便您的应用程序可以正确访问这两种类型的设备。Microsoft 甚至提供了有关如何执行此操作的说明

请注意,DirectInput 不适用于 Windows 应用商店应用程序,因此如果您打算通过那里分发,那不是一个选项。

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

于 2017-02-09T15:25:23.717 回答