Use free Windows DDK and compile with latest MinGW releases.
[reactos.git] / reactos / include / ntos / keyboard.h
index 2945a73..8902fc5 100644 (file)
 #ifndef __INCLUDE_KEYBOARD_H
 #define __INCLUDE_KEYBOARD_H
 
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
 #include <ntos/types.h>
+#include <wincon.h>
 
 /* KEY_EVENT_RECORD structure */
 #define CAPSLOCK_ON    (128)
 #define MENU_EVENT     (8)
 #define FOCUS_EVENT    (16)
 
-
-typedef struct _KEY_EVENT_RECORD { 
-  BOOL bKeyDown;             
-  WORD wRepeatCount;         
-  WORD wVirtualKeyCode;      
-  WORD wVirtualScanCode; 
-  union { 
-    WCHAR UnicodeChar; 
-    CHAR  AsciiChar; 
-  } uChar;  
-  DWORD dwControlKeyState;
-} KEY_EVENT_RECORD PACKED;
-
-typedef struct _MOUSE_EVENT_RECORD { 
-  COORD dwMousePosition; 
-  DWORD dwButtonState; 
-  DWORD dwControlKeyState; 
-  DWORD dwEventFlags; 
-} MOUSE_EVENT_RECORD; 
-
-typedef struct _WINDOW_BUFFER_SIZE_RECORD { 
-  COORD dwSize; 
-} WINDOW_BUFFER_SIZE_RECORD; 
-
-typedef struct _MENU_EVENT_RECORD { 
-  UINT dwCommandId; 
-} MENU_EVENT_RECORD, *PMENU_EVENT_RECORD; 
-
-typedef struct _FOCUS_EVENT_RECORD { 
-  BOOL bSetFocus; 
-} FOCUS_EVENT_RECORD; 
-
-typedef struct _INPUT_RECORD { 
-  WORD EventType; 
-  union { 
-#ifndef __cplus_plus
-    /* this will be the wrong size in c++ */
-    KEY_EVENT_RECORD KeyEvent; 
-#endif
-    MOUSE_EVENT_RECORD MouseEvent; 
-    WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; 
-    MENU_EVENT_RECORD MenuEvent; 
-    FOCUS_EVENT_RECORD FocusEvent; 
-  } Event; 
-} INPUT_RECORD, *PINPUT_RECORD; 
-
 /* Virtual Key codes */
 #define VK_LBUTTON     (1)
 #define VK_RBUTTON     (2)