# INPUT_RECORD

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 {
     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
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 | Description
--- | ---
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.
FARMACRO_KEY_EVENT | The Event member contains a KEY_EVENT_RECORD structure with information about a keyboard event. Plugin receives this specific message from FAR manager version 1.70 build 1663 and higher while playing keyboard macro.

Event
Event information. The format of this member depends on the event type specified by the EventType member.
See also:
KEY_EVENT_RECORD, MOUSE_EVENT_RECORD, WINDOW_BUFFER_SIZE_RECORD, MENU_EVENT_RECORD, FOCUS_EVENT_RECORD, PeekConsoleInput, ReadConsoleInput, WriteConsoleInput