xInput 中的键盘和鼠标设备支持

Posted

技术标签:

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

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

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

感谢您的任何反馈!

【问题讨论】:

【参考方案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 完美运行。

以上是关于xInput 中的键盘和鼠标设备支持的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu更改鼠标灵敏度

请问Linux内核里,USB键盘和鼠标的驱动都是哪些文件?

(计算机组成原理)第七章输入和输出系统-第二节1:外部设备之输入和输出设备(键盘鼠标显示器和打印机)

查找键盘、鼠标的事件设备

ubuntu检测鼠标键盘是否活动

ubuntu检测鼠标键盘是否活动