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;
Members
EventType
Identifies the type of input event and the event record stored in the Event member.
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. |
Event
Contains a KEY_EVENT_RECORD, MOUSE_EVENT_RECORD, WINDOW_BUFFER_SIZE_RECORD, MENU_EVENT_RECORD, or FOCUS_EVENT_RECORD structure, depending on the event type specified by the EventType member.
See Also
FOCUS_EVENT_RECORD, KEY_EVENT_RECORD, MENU_EVENT_RECORD, MOUSE_EVENT_RECORD, PeekConsoleInput, ReadConsoleInput, WriteConsoleInput