【发布时间】:2018-02-21 16:21:43
【问题描述】:
所以手头的问题大致如下: Windows key repeat settings affecting Raw Input messages
虽然这可能是重复的,但没有提供答案,所以在这里:
我的印象是,例如对于 FPS 游戏开发,应该使用原始输入。然而,问题在于输入毕竟不是那么原始,并且包括延迟(对于连续按键),并且只有在初始延迟之后才会连续按键,即 WM_INPUT 消息的连续流。使用 DirectInput(已弃用)时,我没有这些问题。有没有办法只使用原始输入来实现同样的事情?明确地说,我想要的是,如果我连续按下一个键,我会不断收到 WM_INPUT 消息,而不会出现由自动重复引起的初始延迟。 我使用的是原始输入标准读取,而不是缓冲的 (https://msdn.microsoft.com/en-us/library/windows/desktop/ms645546(v=vs.85).aspx)
上述标准原始输入读数和缓冲的读数之间的区别在哪里?
【问题讨论】:
-
我不具体了解 win32 原始输入 - 但通常情况下,如果您已经知道按键已按下,您只需忽略 keydown 事件。
-
您通常不应该将 Win32 RAW 输入用于鼠标以外的任何东西。请参阅 DirectX Tool Kit 和
Keyboard和Mouse类。