diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index f93bc774..f2477b4f 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "623bc9fa54311d941d09760dc5300697ba11debe" + echo "5d1820c40bd93e6810f072a39745ee739ba99b81" } # Show version information diff --git a/patches/user32-rawinput-mouse-experimental/0006-winex11.drv-Send-relative-RawMotion-events-unprocess.patch b/patches/user32-rawinput-mouse-experimental/0006-winex11.drv-Send-relative-RawMotion-events-unprocess.patch index 6bb3b059..cd05bc69 100644 --- a/patches/user32-rawinput-mouse-experimental/0006-winex11.drv-Send-relative-RawMotion-events-unprocess.patch +++ b/patches/user32-rawinput-mouse-experimental/0006-winex11.drv-Send-relative-RawMotion-events-unprocess.patch @@ -1,4 +1,4 @@ -From cc3472938f76b5db50ea86f854e153fd71795b6e Mon Sep 17 00:00:00 2001 +From 7e0df0539b242a4a87b8189232eefb3164fe4617 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Mon, 25 Oct 2021 11:48:00 +0200 Subject: [PATCH] winex11.drv: Send relative RawMotion events unprocessed. @@ -13,10 +13,10 @@ This does not support mixed relative/absolute X/Y axis. 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c -index 727ba13bc31..fdf8eca93dd 100644 +index e691f75465d..d6890a384e3 100644 --- a/dlls/winex11.drv/mouse.c +++ b/dlls/winex11.drv/mouse.c -@@ -1940,12 +1940,12 @@ static BOOL X11DRV_DeviceChanged( XGenericEventCookie *xev ) +@@ -1972,12 +1972,12 @@ static BOOL X11DRV_DeviceChanged( XGenericEventCookie *xev ) return TRUE; } @@ -32,7 +32,7 @@ index 727ba13bc31..fdf8eca93dd 100644 RECT virtual_rect; int i; -@@ -1974,33 +1974,35 @@ static BOOL map_raw_event_coords( XIRawEvent *event, INPUT *input ) +@@ -2006,34 +2006,36 @@ static BOOL map_raw_event_coords( XIRawEvent *event, INPUT *input ) if (!XIMaskIsSet( event->valuators.mask, i )) continue; if (i == x->number) { @@ -60,7 +60,8 @@ index 727ba13bc31..fdf8eca93dd 100644 + if (y->mode != XIModeAbsolute) rawinput->data.mouse.lLastY = y_raw; + else rawinput->data.mouse.lLastY = input->u.mi.dy; + - TRACE( "event %f,%f value %f,%f input %d,%d\n", x_value, y_value, x->value, y->value, input->u.mi.dx, input->u.mi.dy ); + TRACE( "event %f,%f value %f,%f input %d,%d\n", x_value, y_value, x->value, y->value, + (int)input->u.mi.dx, (int)input->u.mi.dy ); x->value -= input->u.mi.dx; y->value -= input->u.mi.dy; @@ -74,7 +75,7 @@ index 727ba13bc31..fdf8eca93dd 100644 return TRUE; } -@@ -2027,7 +2029,7 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) +@@ -2060,7 +2062,7 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) input.u.mi.dwExtraInfo = 0; input.u.mi.dx = 0; input.u.mi.dy = 0; @@ -83,7 +84,7 @@ index 727ba13bc31..fdf8eca93dd 100644 if (!thread_data->xi2_rawinput_only) __wine_send_input( 0, &input, NULL ); -@@ -2041,8 +2043,6 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) +@@ -2074,8 +2076,6 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) rawinput.data.mouse.ulRawButtons = 0; rawinput.data.mouse.u.usButtonData = 0; rawinput.data.mouse.u.usButtonFlags = 0; @@ -93,5 +94,5 @@ index 727ba13bc31..fdf8eca93dd 100644 input.type = INPUT_HARDWARE; -- -2.34.1 +2.38.1 diff --git a/patches/user32-rawinput-mouse/0006-user32-Set-SEND_HWMSG_RAWINPUT-flags-only-when-RAWIN.patch b/patches/user32-rawinput-mouse/0006-user32-Set-SEND_HWMSG_RAWINPUT-flags-only-when-RAWIN.patch index 52946071..a128f56e 100644 --- a/patches/user32-rawinput-mouse/0006-user32-Set-SEND_HWMSG_RAWINPUT-flags-only-when-RAWIN.patch +++ b/patches/user32-rawinput-mouse/0006-user32-Set-SEND_HWMSG_RAWINPUT-flags-only-when-RAWIN.patch @@ -1,4 +1,4 @@ -From bd9db8c44139ffb946feed5c39bb3ec0180862f1 Mon Sep 17 00:00:00 2001 +From fe10cdceff9ca19e82823e85d3d90198dadb2644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Wed, 24 Mar 2021 23:29:28 +0100 Subject: [PATCH] user32: Set SEND_HWMSG_RAWINPUT flags only when RAWINPUT is @@ -20,7 +20,7 @@ __wine_send_input with INPUT_HARDWARE input type and a rawinput. 9 files changed, 26 insertions(+), 15 deletions(-) diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c -index 067c37af8df..a2d1af57f78 100644 +index cd8f3a49ecd..eee40d55f12 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -131,6 +131,7 @@ UINT WINAPI NtUserSendInput( UINT count, INPUT *inputs, int size ) @@ -41,10 +41,10 @@ index 067c37af8df..a2d1af57f78 100644 case INPUT_HARDWARE: RtlSetLastWin32Error( ERROR_CALL_NOT_IMPLEMENTED ); diff --git a/dlls/win32u/message.c b/dlls/win32u/message.c -index cef7aa73db7..e8e59376510 100644 +index b940af90c88..9070ae3d562 100644 --- a/dlls/win32u/message.c +++ b/dlls/win32u/message.c -@@ -2600,7 +2600,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r +@@ -2602,7 +2602,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r req->input.mouse.flags = input->mi.dwFlags; req->input.mouse.time = input->mi.time; req->input.mouse.info = input->mi.dwExtraInfo; @@ -53,7 +53,7 @@ index cef7aa73db7..e8e59376510 100644 break; case INPUT_KEYBOARD: req->input.kbd.vkey = input->ki.wVk; -@@ -2608,7 +2608,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r +@@ -2610,7 +2610,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r req->input.kbd.flags = input->ki.dwFlags; req->input.kbd.time = input->ki.time; req->input.kbd.info = input->ki.dwExtraInfo; @@ -63,7 +63,7 @@ index cef7aa73db7..e8e59376510 100644 case INPUT_HARDWARE: req->input.hw.msg = input->hi.uMsg; diff --git a/dlls/wineandroid.drv/keyboard.c b/dlls/wineandroid.drv/keyboard.c -index 82035cc14dd..3a6f8771860 100644 +index 7c55c481353..9a20daf8809 100644 --- a/dlls/wineandroid.drv/keyboard.c +++ b/dlls/wineandroid.drv/keyboard.c @@ -674,6 +674,7 @@ static BOOL get_async_key_state( BYTE state[256] ) @@ -84,7 +84,7 @@ index 82035cc14dd..3a6f8771860 100644 /*********************************************************************** diff --git a/dlls/wineandroid.drv/window.c b/dlls/wineandroid.drv/window.c -index 9406236a405..1b9b8e8f22f 100644 +index a339c20ceda..222751abc29 100644 --- a/dlls/wineandroid.drv/window.c +++ b/dlls/wineandroid.drv/window.c @@ -424,6 +424,7 @@ static int process_events( DWORD mask ) @@ -114,7 +114,7 @@ index 9406236a405..1b9b8e8f22f 100644 default: diff --git a/dlls/winemac.drv/ime.c b/dlls/winemac.drv/ime.c -index 1b994f0c5e8..4bb9e151eb7 100644 +index 19a974b3c24..d5c5689d396 100644 --- a/dlls/winemac.drv/ime.c +++ b/dlls/winemac.drv/ime.c @@ -38,6 +38,7 @@ @@ -168,7 +168,7 @@ index b43ea0b5dc7..539502d79d9 100644 diff --git a/dlls/winemac.drv/mouse.c b/dlls/winemac.drv/mouse.c -index 3f79dda2073..b1d50f39ac8 100644 +index 6dd90978a93..0479bc78c2b 100644 --- a/dlls/winemac.drv/mouse.c +++ b/dlls/winemac.drv/mouse.c @@ -129,6 +129,7 @@ static const CFStringRef cocoa_cursor_names[] = @@ -189,18 +189,18 @@ index 3f79dda2073..b1d50f39ac8 100644 diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c -index 51644e3b5ba..2e4f3f7edcb 100644 +index 5b1b892de32..622024dcdd9 100644 --- a/dlls/winex11.drv/keyboard.c +++ b/dlls/winex11.drv/keyboard.c @@ -1134,6 +1134,7 @@ static WORD EVENT_event_to_vkey( XIC xic, XKeyEvent *e) */ - static void X11DRV_send_keyboard_input( HWND hwnd, WORD vkey, WORD scan, DWORD flags, DWORD time ) + static void X11DRV_send_keyboard_input( HWND hwnd, WORD vkey, WORD scan, UINT flags, UINT time ) { + RAWINPUT rawinput; INPUT input; TRACE_(key)( "hwnd %p vkey=%04x scan=%04x flags=%04x\n", hwnd, vkey, scan, flags ); -@@ -1145,7 +1146,7 @@ static void X11DRV_send_keyboard_input( HWND hwnd, WORD vkey, WORD scan, DWORD f +@@ -1145,7 +1146,7 @@ static void X11DRV_send_keyboard_input( HWND hwnd, WORD vkey, WORD scan, UINT fl input.u.ki.time = time; input.u.ki.dwExtraInfo = 0; @@ -210,7 +210,7 @@ index 51644e3b5ba..2e4f3f7edcb 100644 diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c -index eea19bef02b..5f6111ae92e 100644 +index 627e7fef7cc..5607d40087b 100644 --- a/dlls/winex11.drv/mouse.c +++ b/dlls/winex11.drv/mouse.c @@ -749,6 +749,7 @@ static void map_event_coords( HWND hwnd, Window window, Window event_root, int x @@ -256,7 +256,7 @@ index eea19bef02b..5f6111ae92e 100644 } while (NtUserPeekMessage( &msg, 0, 0, 0, PM_REMOVE )) -@@ -2016,6 +2018,7 @@ static BOOL map_raw_event_coords( XIRawEvent *event, INPUT *input ) +@@ -2017,6 +2019,7 @@ static BOOL map_raw_event_coords( XIRawEvent *event, INPUT *input ) static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) { XIRawEvent *event = xev->data; @@ -264,7 +264,7 @@ index eea19bef02b..5f6111ae92e 100644 INPUT input; if (broken_rawevents && is_old_motion_event( xev->serial )) -@@ -2033,7 +2036,7 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) +@@ -2034,7 +2037,7 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) input.u.mi.dy = 0; if (!map_raw_event_coords( event, &input )) return FALSE; @@ -274,5 +274,5 @@ index eea19bef02b..5f6111ae92e 100644 } -- -2.35.1 +2.38.1 diff --git a/staging/upstream-commit b/staging/upstream-commit index 92083883..e1959d0e 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -623bc9fa54311d941d09760dc5300697ba11debe +5d1820c40bd93e6810f072a39745ee739ba99b81