[PATCH v10 4/9] user32: Add helper for input drivers to submit native rawinput msgs.
Rémi Bernon
rbernon at codeweavers.com
Fri Aug 2 03:27:19 CDT 2019
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 at codeweavers.com>
More information about the wine-devel
mailing list