【发布时间】:2016-12-10 15:50:13
【问题描述】:
我想编写一个访问操纵杆的 Windows 应用程序。它只是一个非常简单的应用程序,它读取值并将它们发送到服务器,所以我没有使用任何游戏编程框架。但是,我对使用哪个 API 感到困惑。
我查看了多媒体操纵杆 API,但它被描述为被 DirectInput 取代。所以我查看了 DirectInput,但这也被 XInput 弃用了。 然而,XInput 文档只讨论了 Xbox360 控制器,并表示它不支持“旧版 DirectInput 设备”。
Microsoft 是否已将整个 HID 操纵杆使用类型扔进垃圾箱并放弃支持他们转而支持他们自己的专有控制器产品,还是我遗漏了什么?
【问题讨论】:
-
我在 Windows 上使用罗技 F710 游戏手柄,它支持 DInput 和 XInput 模式(有一个物理开关)。 XInput 不仅限于微软的产品。
-
微软已经标记了大部分(如果不是全部)他们的输入堆栈实现“已弃用”,但没有明确的替换声明。我仍然会使用DirectInput 来处理操纵杆输入。 DirectInput 仍然受到积极支持,并且将在可预见的将来提供。或者,您可能想要评估Raw Input,看看它是否也可用于操纵杆输入。没有 DirectX 的所有 COM 基础结构,设置起来更容易一些。
-
很遗憾,强制反馈(“隆隆声”之外)被归为“传统”。