Moved SendInput and related functions to the USER driver to avoid a
number of dll separation hacks.
diff --git a/dlls/user/user_main.c b/dlls/user/user_main.c
index a5699bf..c99d4aa 100644
--- a/dlls/user/user_main.c
+++ b/dlls/user/user_main.c
@@ -83,19 +83,19 @@
ExitProcess(1);
}
- GET_USER_FUNC(InitKeyboard);
- GET_USER_FUNC(VkKeyScanEx);
- GET_USER_FUNC(MapVirtualKeyEx);
+ GET_USER_FUNC(ActivateKeyboardLayout);
+ GET_USER_FUNC(Beep);
+ GET_USER_FUNC(GetAsyncKeyState);
GET_USER_FUNC(GetKeyNameText);
- GET_USER_FUNC(ToUnicodeEx);
- GET_USER_FUNC(GetKeyboardLayoutList);
GET_USER_FUNC(GetKeyboardLayout);
+ GET_USER_FUNC(GetKeyboardLayoutList);
GET_USER_FUNC(GetKeyboardLayoutName);
GET_USER_FUNC(LoadKeyboardLayout);
- GET_USER_FUNC(ActivateKeyboardLayout);
+ GET_USER_FUNC(MapVirtualKeyEx);
+ GET_USER_FUNC(SendInput);
+ GET_USER_FUNC(ToUnicodeEx);
GET_USER_FUNC(UnloadKeyboardLayout);
- GET_USER_FUNC(Beep);
- GET_USER_FUNC(InitMouse);
+ GET_USER_FUNC(VkKeyScanEx);
GET_USER_FUNC(SetCursor);
GET_USER_FUNC(GetCursorPos);
GET_USER_FUNC(SetCursorPos);
@@ -244,12 +244,6 @@
/* Create desktop window */
if (!WIN_CreateDesktopWindow()) return FALSE;
- /* Initialize keyboard driver */
- if (USER_Driver.pInitKeyboard) USER_Driver.pInitKeyboard( InputKeyStateTable );
-
- /* Initialize mouse driver */
- if (USER_Driver.pInitMouse) USER_Driver.pInitMouse( InputKeyStateTable );
-
return TRUE;
}
diff --git a/dlls/user/user_private.h b/dlls/user/user_private.h
index 873e3eb..43e849a 100644
--- a/dlls/user/user_private.h
+++ b/dlls/user/user_private.h
@@ -62,23 +62,23 @@
typedef struct tagUSER_DRIVER {
/* keyboard functions */
- void (*pInitKeyboard)(LPBYTE);
- SHORT (*pVkKeyScanEx)(WCHAR, HKL);
- UINT (*pMapVirtualKeyEx)(UINT, UINT, HKL);
+ HKL (*pActivateKeyboardLayout)(HKL, UINT);
+ void (*pBeep)(void);
+ SHORT (*pGetAsyncKeyState)(INT);
INT (*pGetKeyNameText)(LONG, LPWSTR, INT);
- INT (*pToUnicodeEx)(UINT, UINT, LPBYTE, LPWSTR, int, UINT, HKL);
- UINT (*pGetKeyboardLayoutList)(INT, HKL *);
HKL (*pGetKeyboardLayout)(DWORD);
+ UINT (*pGetKeyboardLayoutList)(INT, HKL *);
BOOL (*pGetKeyboardLayoutName)(LPWSTR);
HKL (*pLoadKeyboardLayout)(LPCWSTR, UINT);
- HKL (*pActivateKeyboardLayout)(HKL, UINT);
+ UINT (*pMapVirtualKeyEx)(UINT, UINT, HKL);
+ UINT (*pSendInput)(UINT, LPINPUT, int);
+ INT (*pToUnicodeEx)(UINT, UINT, LPBYTE, LPWSTR, int, UINT, HKL);
BOOL (*pUnloadKeyboardLayout)(HKL);
- void (*pBeep)(void);
+ SHORT (*pVkKeyScanEx)(WCHAR, HKL);
/* mouse functions */
- void (*pInitMouse)(LPBYTE);
void (*pSetCursor)(struct tagCURSORICONINFO *);
- void (*pGetCursorPos)(LPPOINT);
- void (*pSetCursorPos)(INT,INT);
+ BOOL (*pGetCursorPos)(LPPOINT);
+ BOOL (*pSetCursorPos)(INT,INT);
/* screen saver functions */
BOOL (*pGetScreenSaveActive)(void);
void (*pSetScreenSaveActive)(BOOL);
@@ -119,8 +119,6 @@
extern USER_DRIVER USER_Driver;
extern HMODULE user32_module;
-extern BYTE InputKeyStateTable[256];
-extern BYTE AsyncKeyStateTable[256];
extern DWORD USER16_AlertableWait;
extern BOOL CLIPBOARD_ReleaseOwner(void);