Coordinates from mouse low level hook messages are not mapped the same way than WM_MOUSEMOVE or GetCursorPos. This causes problems on programs that make use of both values to calculate mouse movement, like the wine DirectInput implementation.
I'm marking this as a draft since I was not able to find a way to write a test for this. I'm able to easily reproduce it on Proton, because it creates a scaled full screen window, on Wine this doesn't happen so the coordinates are not required to be mapped to a scaled window.
Edit: I didn't realize that modesetting emulation was an experimental option! So, I was able to reproduce the bug by enabling it.
--
v2: win32u: Map raw coordinates to virtual screen in low-level hooks.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8669
You should stop updating your MR every day. Not only is it a waste of CI resources, but it makes it look like it's not ready since it keeps being updated.
Also you don't need additional forks, you can create a MR from a different branch in the same fork.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8573#note_113830
Latest updates: https://bugs.winehq.org/show_bug.cgi?id=58552#c43
Carla offers experimental features supporting VST DLL direct usage via Wine similar to how Steam on Linux handles running Windows games.
Carla direct VST DLL usage works without the GUI offsets.
Carla VST.so converted by yabridge from VST DLLs have GUI offset bugs.
Thus it seems yabridge may be handling windowing behavior better left to Wine if possible.
Maybe whatever Wine internal windowing component that resolves the GUI offsets for direct DLL usage can be integrated to VST.so files so they may still be used without any other Wine runtime dependencies?
These latest tests help further clarify where the underlying faults may lie regarding bug reports against this merge.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6569#note_113829
This should at least fix foreground window inconsistencies between Wine and X11, when _NET_ACTIVE_WINDOW is supported by the WM, allowing us to then better implement focus tracking (to avoid changing focus when not desired), as well as SWP_NOACTIVATE.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7367