INPUT_RECORD structure

Describes an input event 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.

Syntax

typedef struct _INPUT_RECORD {
  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
A handle to the type of input event and the event record stored in the Event member.

This member can be one of the following values.

Value Meaning
FOCUS_EVENT 0x0010 The Event member contains a FOCUS_EVENT_RECORD structure. These events are used internally and should be ignored.
KEY_EVENT 0x0001 The Event member contains a KEY_EVENT_RECORD structure with information about a keyboard event.
MENU_EVENT 0x0008 The Event member contains a MENU_EVENT_RECORD structure. These events are used internally and should be ignored.
MOUSE_EVENT 0x0002 The Event member contains a MOUSE_EVENT_RECORD structure with information about a mouse movement or button press event.
WINDOW_BUFFER_SIZE_EVENT 0x0004 The Event member contains a WINDOW_BUFFER_SIZE_RECORD structure with information about the new size of the console screen buffer.

Event
The event information. The format of this member depends on the event type specified by the EventType member.

Examples

For an example, see Reading Input Buffer Events.

Requirements

   
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header WinConTypes.h (via WinCon.h, include Windows.h)

See also

FOCUS_EVENT_RECORD

KEY_EVENT_RECORD

MENU_EVENT_RECORD

MOUSE_EVENT_RECORD

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput