Input 使用原始输入删除第一次按键后的暂停 < >我使用RAWPUT来处理C++应用程序中的输入。但是,在按下键盘上的a键并发送相应的WM_uu消息后,键盘消息似乎会暂停半秒钟,然后再继续,后续消息之间没有任何停顿

Input 使用原始输入删除第一次按键后的暂停 < >我使用RAWPUT来处理C++应用程序中的输入。但是,在按下键盘上的a键并发送相应的WM_uu消息后,键盘消息似乎会暂停半秒钟,然后再继续,后续消息之间没有任何停顿,input,raw-input,Input,Raw Input,如何更改重复延迟 以下是我使用的代码: 我转发来自消息进程的输入: case WM_INPUT: if (!m_inputHandler.HandleInput(msg, wParam, lParam)) return 0; char buffer[sizeof(RAWINPUT)] = {}; UINT size = sizeof(RAWINPUT); GetRawInputData((HRAWINPUT)lParam, RID_INPUT, buffer, &

如何更改重复延迟

以下是我使用的代码:

我转发来自消息进程的输入:

case WM_INPUT:
    if (!m_inputHandler.HandleInput(msg, wParam, lParam))
    return 0;



char buffer[sizeof(RAWINPUT)] = {};
UINT size = sizeof(RAWINPUT);

GetRawInputData((HRAWINPUT)lParam, RID_INPUT, buffer, &size, sizeof(RAWINPUTHEADER));
RAWINPUT    *raw = (RAWINPUT*)buffer;

if (raw->header.dwType == RIM_TYPEMOUSE)
{
    //
}
else if (raw->header.dwType == RIM_TYPEKEYBOARD)
{
    RAWKEYBOARD const &rawKB = raw->data.keyboard;
    UINT virtualKey = rawKB.VKey;
    UINT scanCode = rawKB.MakeCode;
    UINT flags = rawKB.Flags;

    // handle keyboard input and dispatch to listeners
}

问题不在于键盘数据的处理,而在于WM_输入消息发送一次,然后暂停,然后在暂停后定期发送。

您能显示窗口过程中的一段代码吗?@ST3我发布了一些代码。