3 #include <internal/kbd.h>
9 WCHAR Name
[KL_NAMELENGTH
]; // used w GetKeyboardLayoutName same as wszKLID.
10 struct _KBDTABLES
* KBTables
; // KBDTABLES in ntoskrnl/include/internal/kbd.h
14 DWORD klid
; // Low word - language id. High word - device id.
17 typedef struct _ATTACHINFO
19 struct _ATTACHINFO
* paiNext
;
22 } ATTACHINFO
, *PATTACHINFO
;
24 extern PATTACHINFO gpai
;
38 InitKeyboardImpl(VOID
);
40 PUSER_MESSAGE_QUEUE
W32kGetPrimitiveMessageQueue(VOID
);
41 VOID
W32kUnregisterPrimitiveMessageQueue(VOID
);
42 PKBL
W32kGetDefaultKeyLayout(VOID
);
43 VOID FASTCALL
W32kKeyProcessMessage(LPMSG Msg
, PKBDTABLES KeyLayout
, BYTE Prefix
);
44 BOOL FASTCALL
IntBlockInput(PTHREADINFO W32Thread
, BOOL BlockIt
);
45 BOOL FASTCALL
IntMouseInput(MOUSEINPUT
*mi
);
46 BOOL FASTCALL
IntKeyboardInput(KEYBDINPUT
*ki
);
48 BOOL
UserInitDefaultKeyboardLayout();
49 PKBL
UserHklToKbl(HKL hKl
);
50 BOOL FASTCALL
UserAttachThreadInput(PTHREADINFO
,PTHREADINFO
,BOOL
);
51 BOOL FASTCALL
IntConnectThreadInput(PTHREADINFO
,PTHREADINFO
*,PUSER_MESSAGE_QUEUE
*);
53 #define ThreadHasInputAccess(W32Thread) \
56 extern PTHREADINFO ptiRawInput
;