http://bugs.winehq.org/show_bug.cgi?id=27522
Summary: Mouse motion blocked or laggy while clicking Product: Wine Version: 1.3.19 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-dinput AssignedTo: wine-bugs@winehq.org ReportedBy: pilota51@gmail.com
This regression started in 1.3.19 and appears to be related to the fix of Bug 6971.
I posted Bug 6971 comment 512 regarding this issue trying to see if anyone else was experiencing it, which seemed to be ignored. I'm not sure if the lack of complaints is because of a rare combination on my system or because not many people play the affected games in Wine. I've recently reinstalled Ubuntu (for other reasons) and tried a clean .wine directory as per the guidelines, but this issue remained.
In Battlefield 1942 starting at 1.3.19, the mouse completely stops moving when clicking a mouse button and allows moving again when the button is released. The issue exists both in the menu and in-game. BF1942 did not experience Bug 6971. In 1.3.19 (not later releases, but worth noting) only the first click would register. All clicks register in 1.3.20 and later.
In Unreal Tournament 3 starting at 1.3.20, with the option enabled, there is significant lag in mouse movement while clicking, about 1 second between refreshes. With it disabled, there is no issue with clicking and moving the mouse simultaneously, but of course the mouse will leave the window. I've also noticed that while clicking and inducing the lag, the range of the mouse is limited, which tells me the issue with window borders hasn't been fixed entirely even though the mouse doesn't escape. Releasing the button will allow full motion. This is what I did to test how the mouse range behaves: 1. Hold a button down and rotate all the way to the right until it won't go further. 2. Release button, either don't rotate or only rotate right. 3. Hold button again and notice how it still doesn't move any further right. 4. Release button and spin left a few times. 5. Hold button and notice how it won't rotate any further left.
The reason UT3 didn't have this issue in 1.3.19 is because the option simply didn't work until Bug 6971 was fixed in 1.3.20. As for why BF1942 has this problem and other games don't, I have a few guesses but I'm not sure.
If I have time later I might mess with the source and build it to find exactly which code causes it. Looks like one of the last 3 commits on mouse.c contain the cause.