[YAROTOWS] Reintegrate the branch. For a brighter future.
[reactos.git] / reactos / subsystems / win32 / win32k / include / input.h
index 9661532..2a00fe2 100644 (file)
@@ -1,13 +1,12 @@
-#ifndef _WIN32K_INPUT_H
-#define _WIN32K_INPUT_H
+#pragma once
 
 #include <internal/kbd.h>
 
 typedef struct _KBL
 {
   LIST_ENTRY List;
-  DWORD Flags; 
-  WCHAR Name[9];              // used w GetKeyboardLayoutName same as wszKLID.
+  DWORD Flags;
+  WCHAR Name[KL_NAMELENGTH];    // used w GetKeyboardLayoutName same as wszKLID.
   struct _KBDTABLES* KBTables;  // KBDTABLES in ntoskrnl/include/internal/kbd.h
   HANDLE hModule;
   ULONG RefCount;
@@ -15,8 +14,18 @@ typedef struct _KBL
   DWORD klid; // Low word - language id. High word - device id.
 } KBL, *PKBL;
 
-#define KBL_UNLOADED 0x20000000
-#define KBL_RESET    0x40000000
+typedef struct _ATTACHINFO
+{
+  struct _ATTACHINFO* paiNext;
+  PTHREADINFO pti1;
+  PTHREADINFO pti2;
+} ATTACHINFO, *PATTACHINFO;
+
+extern PATTACHINFO gpai;
+
+#define KBL_UNLOAD 1
+#define KBL_PRELOAD 2
+#define KBL_RESET 4
 
 NTSTATUS FASTCALL
 InitInputImpl(VOID);
@@ -26,13 +35,16 @@ PUSER_MESSAGE_QUEUE W32kGetPrimitiveMessageQueue(VOID);
 VOID W32kUnregisterPrimitiveMessageQueue(VOID);
 PKBL W32kGetDefaultKeyLayout(VOID);
 VOID FASTCALL W32kKeyProcessMessage(LPMSG Msg, PKBDTABLES KeyLayout, BYTE Prefix);
-BOOL FASTCALL IntBlockInput(PW32THREAD W32Thread, BOOL BlockIt);
+BOOL FASTCALL IntBlockInput(PTHREADINFO W32Thread, BOOL BlockIt);
 BOOL FASTCALL IntMouseInput(MOUSEINPUT *mi);
 BOOL FASTCALL IntKeyboardInput(KEYBDINPUT *ki);
 
 BOOL UserInitDefaultKeyboardLayout();
+PKBL UserHklToKbl(HKL hKl);
+BOOL FASTCALL UserAttachThreadInput(PTHREADINFO,PTHREADINFO,BOOL);
+BOOL FASTCALL IntConnectThreadInput(PTHREADINFO,PTHREADINFO*,PUSER_MESSAGE_QUEUE*);
 
 #define ThreadHasInputAccess(W32Thread) \
   (TRUE)
 
-#endif /* _WIN32K_INPUT_H */
+extern PTHREADINFO ptiRawInput;