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
;
33 InitKeyboardImpl(VOID
);
34 PUSER_MESSAGE_QUEUE
W32kGetPrimitiveMessageQueue(VOID
);
35 VOID
W32kUnregisterPrimitiveMessageQueue(VOID
);
36 PKBL
W32kGetDefaultKeyLayout(VOID
);
37 VOID FASTCALL
W32kKeyProcessMessage(LPMSG Msg
, PKBDTABLES KeyLayout
, BYTE Prefix
);
38 BOOL FASTCALL
IntBlockInput(PTHREADINFO W32Thread
, BOOL BlockIt
);
39 BOOL FASTCALL
IntMouseInput(MOUSEINPUT
*mi
);
40 BOOL FASTCALL
IntKeyboardInput(KEYBDINPUT
*ki
);
42 BOOL
UserInitDefaultKeyboardLayout();
43 PKBL
UserHklToKbl(HKL hKl
);
44 BOOL FASTCALL
UserAttachThreadInput(PTHREADINFO
,PTHREADINFO
,BOOL
);
45 BOOL FASTCALL
IntConnectThreadInput(PTHREADINFO
,PTHREADINFO
*,PUSER_MESSAGE_QUEUE
*);
47 #define ThreadHasInputAccess(W32Thread) \
50 extern PTHREADINFO ptiRawInput
;