【问题标题】:Keyboard and Mouse Device Support in xInputxInput 中的键盘和鼠标设备支持
【发布时间】:2016-07-03 17:04:59
【问题描述】:

XInput 库功能是否支持处理来自连接的键盘和鼠标的事件?

我知道它支持处理来自 xInput 兼容控制器的事件,但不清楚是否还包括键盘和鼠标输入处理。我在 MSDN XInput 页面上没有看到任何关于支持它的信息,所以我不这么认为,但我想确定一下。因此,如果我想为使用 XInput 兼容控制器或鼠标和键盘的用户启用对软件的控制,我是否需要在使用 XInput 处理控制器输入的同时使用 Windows 消息系统分别处理鼠标和键盘事件?

感谢您的任何反馈!

【问题讨论】:

    标签: c++ keyboard directx mouse xinput


    【解决方案1】:

    XInput 仅适用于游戏手柄,在 Windows 10 上已弃用新的IGamepad 界面

    对于键盘和鼠标,您正在寻找raw input。它适用于 Windows 消息传递,但允许您在低级别轮询事件,以利用高 DPI 设备、更高的轮询率和没有 Windows 桌面加速系统。

    【讨论】:

    • 感谢您提供的信息。我不知道 IGamePad,所以我将研究它而不是 XInput。无论如何,我的目标是Windows 10,所以应该没问题。原始输入看起来更像是我正在寻找的键盘和鼠标设备。
    • 您从哪里得知 XInput 将被 IGamepad 弃用?据我所知,IGamepad 只是托管运行时,因此本机 C++ 仍然必须依赖 XInput。还是我错过了什么?
    • @Mario 它已被弃用,因为他们没有将新功能移植回它,例如 xbox one 控制器的触发力反馈或 xbox 用户关联。您可以在没有托管运行时的情况下以纯本机方式使用 IGamepad,这有点尴尬,并且文档在这方面很糟糕。我这样使用它是因为托管运行时与 c++ 异常不兼容,这对我来说是不行的。
    • 它没有被弃用。您可以使用 XInput v9.1 完美运行。
    猜你喜欢
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    相关资源
    最近更新 更多