On 8/2/19 8:24 AM, Derek Lesho wrote:
diff --git a/dlls/user32/input.c b/dlls/user32/input.c index 8b2ae805aa..f7ef1c3be2 100644 --- a/dlls/user32/input.c +++ b/dlls/user32/input.c @@ -33,6 +33,7 @@ #include <assert.h>
#define NONAMELESSUNION +#define NONAMELESSSTRUCT
#include "ntstatus.h" #define WIN32_NO_STATUS @@ -129,6 +130,34 @@ BOOL CDECL __wine_send_input( HWND hwnd, const INPUT *input ) return !status; }
+BOOL CDECL __wine_send_raw_input( const RAWINPUT *raw_input ) +{ + NTSTATUS status; + + SERVER_START_REQ( send_rawinput_message ) + { + req->input.type = raw_input->header.dwType; + switch (raw_input->header.dwType) + { + case RIM_TYPEMOUSE: + if (raw_input->data.mouse.usFlags || raw_input->data.mouse.ulRawButtons + || raw_input->data.mouse.ulExtraInformation) + WARN("Unhandled parameters");
FIXME would be more appropriate IMHO.
+ + req->input.mouse.x = raw_input->data.mouse.lLastX; + req->input.mouse.y = raw_input->data.mouse.lLastY; + req->input.mouse.button_flags = raw_input->data.mouse.u.s.usButtonFlags; + req->input.mouse.button_data = raw_input->data.mouse.u.s.usButtonData; + break; + } + status = wine_server_call( req ); + } + SERVER_END_REQ; + + if (status) SetLastError( RtlNtStatusToDosError(status) ); + return !status; +} +
/*********************************************************************** * update_mouse_coord -- Rémi Bernon <rbernon(a)codeweavers.com>