ENABLE_ECHO_INPUT=0x0004# Characters read by the ReadFile or ReadConsole function are written to the active screen buffer as they are typed into the console. This mode can be used only if the ENABLE_LINE_INPUT mode is also enabled.
ENABLE_INSERT_MODE=0x0020# When enabled, text entered in a console window will be inserted at the current cursor location and all text following that location will not be overwritten. When disabled, all following text will be overwritten.
ENABLE_LINE_INPUT=0x0002# The ReadFile or ReadConsole function returns only when a carriage return character is read. If this mode is disabled, the functions return when one or more characters are available.
ENABLE_MOUSE_INPUT=0x0010# If the mouse pointer is within the borders of the console window and the window has the keyboard focus, mouse events generated by mouse movement and button presses are placed in the input buffer. These events are discarded by ReadFile or ReadConsole, even when this mode is enabled. The ReadConsoleInput function can be used to read MOUSE_EVENT input records from the input buffer.
ENABLE_PROCESSED_INPUT=0x0001# CTRL+C is processed by the system and is not placed in the input buffer. If the input buffer is being read by ReadFile or ReadConsole, other control keys are processed by the system and are not returned in the ReadFile or ReadConsole buffer. If the ENABLE_LINE_INPUT mode is also enabled, backspace, carriage return, and line feed characters are handled by the system.
ENABLE_QUICK_EDIT_MODE=0x0040# This flag enables the user to use the mouse to select and edit text. To enable this mode, use ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGS. To disable this mode, use ENABLE_EXTENDED_FLAGS without this flag.
ENABLE_WINDOW_INPUT=0x0008# User interactions that change the size of the console screen buffer are reported in the console's input buffer. Information about these events can be read from the input buffer by applications using the ReadConsoleInput function, but not by those using ReadFile or ReadConsole.
ENABLE_VIRTUAL_TERMINAL_INPUT=0x0200# Setting this flag directs the Virtual Terminal processing engine to convert user input received by the console window into Console Virtual Terminal Sequences that can be retrieved by a supporting application through ReadFile or ReadConsole functions.
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.
FROM_LEFT_1ST_BUTTON_PRESSED=0x0001# The leftmost mouse button.
FROM_LEFT_2ND_BUTTON_PRESSED=0x0004# The second button fom the left.
FROM_LEFT_3RD_BUTTON_PRESSED=0x0008# The third button from the left.
FROM_LEFT_4TH_BUTTON_PRESSED=0x0010# The fourth button from the left.
RIGHTMOST_BUTTON_PRESSED=0x0002# The rightmost mouse button.
# dwControlKeyState
CAPSLOCK_ON=0x0080# The CAPS LOCK light is on.
ENHANCED_KEY=0x0100# The key is enhanced. See remarks.
LEFT_ALT_PRESSED=0x0002# The left ALT key is pressed.
LEFT_CTRL_PRESSED=0x0008# The left CTRL key is pressed.
NUMLOCK_ON=0x0020# The NUM LOCK light is on.
RIGHT_ALT_PRESSED=0x0001# The right ALT key is pressed.
RIGHT_CTRL_PRESSED=0x0004# The right CTRL key is pressed.
SCROLLLOCK_ON=0x0040# The SCROLL LOCK light is on.
SHIFT_PRESSED=0x0010# The SHIFT key is pressed.
# dwEventFlags
DOUBLE_CLICK=0x0002# The second click (button press) of a double-click occurred. The first click is returned as a regular button-press event.
MOUSE_HWHEELED=0x0008# The horizontal mouse wheel was moved.
# If the high word of the dwButtonState member contains a positive value, the wheel was rotated to the right. Otherwise, the wheel was rotated to the left.
MOUSE_MOVED=0x0001# A change in mouse position occurred.
MOUSE_WHEELED=0x0004# The vertical mouse wheel was moved.
# If the high word of the dwButtonState member contains a positive value, the wheel was rotated forward, away from the user. Otherwise, the wheel was rotated backward, toward the user.