При просмотре документации MSDN для RAWINPUT
структура, она имеет следующую декларацию:
typedef struct tagRAWINPUT {
RAWINPUTHEADER header;
union {
RAWMOUSE mouse;
RAWKEYBOARD keyboard;
RAWHID hid;
} data;
} RAWINPUT, *PRAWINPUT, *LPRAWINPUT;
Кроме того, RAWINPUTHEADER
Структура содержит эти:
typedef struct tagRAWINPUTHEADER {
DWORD dwType;
DWORD dwSize;
HANDLE hDevice;
WPARAM wParam;
} RAWINPUTHEADER, *PRAWINPUTHEADER;
Из которых интерес представляет член wParam
:
WPARAM
Тип: WPARAM
Значение, переданное в параметре wParam сообщения WM_INPUT.
Итак, что именно содержит этот wParam? (специально для ввода с клавиатуры KEYDOWN?)
Документация для WM_INPUT
говорит вам эту информацию:
WPARAM
Код ввода. Этот параметр может принимать одно из следующих значений.RIM_INPUT
0
Ввод произошел, когда приложение было на переднем плане. Приложение должно вызвать DefWindowProc, чтобы система могла выполнить очистку.RIM_INPUTSINK
1
Ввод произошел, когда приложение не было на переднем плане. Приложение должно вызвать DefWindowProc, чтобы система могла выполнить очистку.