From 208da846ac90dbd4d0c0f26aabdbc3bdfb2a6336 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Tue, 9 Jan 2007 22:55:40 +0000 Subject: [PATCH] Implement new keyboard driver and layout structures to help Saveliy Tretiakovs LoadKeyboardLayout implementation. svn path=/trunk/; revision=25405 --- .../subsystems/win32/win32k/include/input.h | 18 ++++++++++++++++++ .../subsystems/win32/win32k/ntuser/keyboard.c | 3 +++ 2 files changed, 21 insertions(+) diff --git a/reactos/subsystems/win32/win32k/include/input.h b/reactos/subsystems/win32/win32k/include/input.h index 4619b680c27..bee57e3653e 100644 --- a/reactos/subsystems/win32/win32k/include/input.h +++ b/reactos/subsystems/win32/win32k/include/input.h @@ -3,6 +3,24 @@ #include +typedef struct _KBDRVFILE +{ + PSINGLE_LIST_ENTRY pkbdfChain; + WCHAR wcKBDF[9]; // used w GetKeyboardLayoutName same as wszKLID. + struct _KBDTABLES* KBTables; // KBDTABLES in ntoskrnl/include/internal/kbd.h +} KBDRVFILE, *PKBDRVFILE; + +typedef struct _KBL +{ + PLIST_ENTRY pklChain; + DWORD dwKBLFlags; + HKL hkl; + PKBDRVFILE pkbdf; +} KBL, *PKBL; + +#define KBL_UNLOADED 0x2000000 +#define KBL_RESET 0x4000000 + NTSTATUS FASTCALL InitInputImpl(VOID); NTSTATUS FASTCALL diff --git a/reactos/subsystems/win32/win32k/ntuser/keyboard.c b/reactos/subsystems/win32/win32k/ntuser/keyboard.c index d97660630a6..e8ea2681b48 100644 --- a/reactos/subsystems/win32/win32k/ntuser/keyboard.c +++ b/reactos/subsystems/win32/win32k/ntuser/keyboard.c @@ -53,6 +53,9 @@ BYTE gQueueKeyStateTable[256]; +PKBDRVFILE KBLList = NULL; // Keyboard layout list. + + /* FUNCTIONS *****************************************************************/ /* Initialization -- Right now, just zero the key state and init the lock */