https://bugs.winehq.org/show_bug.cgi?id=47834
--- Comment #7 from kolAflash kolAflash@kolahilft.de --- Some additional information: My OS: openSUSE-15.1 And I don't got the xf86-input-libinput package installed. Also I got "Automatically capture the mouse in full-screen windows" enabled in winecfg.
Some (In reply to Alistair Leslie-Hughes from comment #6)
[...] We know its the user32-rawinput patchset. Are you able to track down which of these patches is causing the issue?
Sure, it's 0007-winex11.drv-Implement-native-mouse-movement-raw-inpu.patch But you can't compile it because of a syntax bug. There's a ")" missing before "return".
+++ b/dlls/winex11.drv/mouse.c [...] @@ -1801,16 +1828,20 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) [...] + if ((thread_data->x_rel_valuator.number < 0 || thread_data->y_rel_valuator.number < 0) && + (thread_data->x_abs_valuator.number < 0 || thread_data->y_abs_valuator.number < 0) return FALSE;
The syntax bug is fixed by the succeeding 0008-winex11.drv-Implement-native-mouse-button-raw-input-.patch But if you add the ")" and compile, the bug already appears with triple-o-seven.
These lines also look odd, because they now have XI_DeviceChanged twice.
+++ b/dlls/winex11.drv/mouse.c [...] @@ -324,8 +336,8 @@ static void enable_xinput2(void) mask.mask_len = sizeof(mask_bits); mask.deviceid = XIAllMasterDevices; memset( mask_bits, 0, sizeof(mask_bits) ); + XISetMask( mask_bits, XI_DeviceChanged ); XISetMask( mask_bits, XI_RawMotion ); - XISetMask( mask_bits, XI_ButtonPress ); XISetMask( mask_bits, XI_DeviceChanged );