? dlls/msi/tests ? dlls/msi/version.res Index: dlls/user/user_main.c =================================================================== RCS file: /home/wine/wine/dlls/user/user_main.c,v retrieving revision 1.76 diff -r1.76 user_main.c 131a132 > GET_USER_FUNC(GetAsyncKeyState); Index: dlls/user/user_private.h =================================================================== RCS file: /home/wine/wine/dlls/user/user_private.h,v retrieving revision 1.4 diff -r1.4 user_private.h 113a114 > void (*pGetAsyncKeyState)(INT); Index: dlls/x11drv/mouse.c =================================================================== RCS file: /home/wine/wine/dlls/x11drv/mouse.c,v retrieving revision 1.18 diff -r1.18 mouse.c 504a505,528 > * GetAsyncKeyState (X11DRV.@) > */ > void X11DRV_GetAsyncKeyState( INT key ) > { > Display *display = thread_display(); > Window root, child; > int rootX, rootY, winX, winY; > unsigned int xstate; > > if (key == VK_LBUTTON || key == VK_MBUTTON || key == VK_RBUTTON || > key == VK_SHIFT || key == VK_CONTROL) > { > wine_tsx11_lock(); > if (XQueryPointer( display, root_window, &root, &child, > &rootX, &rootY, &winX, &winY, &xstate )) > { > update_button_state( xstate ); > update_key_state( xstate ); > } > wine_tsx11_unlock(); > } > } > > /*********************************************************************** 518,519d541 < update_key_state( xstate ); < update_button_state( xstate ); Index: dlls/x11drv/x11drv.spec =================================================================== RCS file: /home/wine/wine/dlls/x11drv/x11drv.spec,v retrieving revision 1.61 diff -r1.61 x11drv.spec 111a112 > @ cdecl GetAsyncKeyState(long) X11DRV_GetAsyncKeyState Index: windows/input.c =================================================================== RCS file: /home/wine/wine/windows/input.c,v retrieving revision 1.102 diff -r1.102 input.c 521,522c521,525 < SHORT retval = ((AsyncKeyStateTable[nKey] & 0x80) ? 0x0001 : 0) | < ((InputKeyStateTable[nKey] & 0x80) ? 0x8000 : 0); --- > SHORT retval; > > if (USER_Driver.pGetAsyncKeyState) USER_Driver.pGetAsyncKeyState( nKey ); > retval = ((AsyncKeyStateTable[nKey] & 0x80) ? 0x0001 : 0) | > ((InputKeyStateTable[nKey] & 0x80) ? 0x8000 : 0);