The INPUT_RECORD structure is used to report input events in the console input buffer. These records can be read from the input buffer by using the ReadConsoleInput or PeekConsoleInput function, or written to the input buffer by using the WriteConsoleInput function.
typedef struct _INPUT_RECORD { // ir WORD EventType; union { KEY_EVENT_RECORD KeyEvent; MOUSE_EVENT_RECORD MouseEvent; WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; MENU_EVENT_RECORD MenuEvent; FOCUS_EVENT_RECORD FocusEvent; } Event; } INPUT_RECORD;
This member can have one of the following values:
Value |
Meaning |
KEY_EVENT | |
The Event member contains a KEY_EVENT_RECORD structure with information about a keyboard event. | |
MOUSE_EVENT | |
The Event member contains a MOUSE_EVENT_RECORD structure with information about a mouse movement or button press event. | |
WINDOW_BUFFER_SIZE_EVENT | |
The Event member contains a WINDOW_BUFFER_SIZE_RECORD structure with information about the new size of the screen buffer. | |
MENU_EVENT | |
The Event member contains a MENU_EVENT_RECORD structure. These events are used internally and should be ignored. | |
FOCUS_EVENT | |
The Event member contains a FOCUS_EVENT_RECORD structure. These events are used internally and should be ignored. |
FOCUS_EVENT_RECORD, KEY_EVENT_RECORD, MENU_EVENT_RECORD, MOUSE_EVENT_RECORD, PeekConsoleInput, ReadConsoleInput, WriteConsoleInput