[Bug 6971] Mouse "escapes" window or is confined to an area in the full screen program NO HACKS PLEASE

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Dec 10 11:30:38 CST 2009


http://bugs.winehq.org/show_bug.cgi?id=6971





--- Comment #301 from Forest Hale <lordhavoc at ghdigital.com>  2009-12-10 11:30:37 ---
(In reply to comment #299)
> (In reply to comment #297)
> If you so want to have DGA mouse - why don't you actually look at what it is,
> how it works, and if it meats the DInput requirements? If it's freezing pointer
> in place - it's automatically won't work for Wine. that mode already works just
> fine. It's the non-exclusive background coop level that's needed by soo many
> apps that doesn't work.

Actually I was saying that DGA mouse freezes the mouse pointer but it can still
be forcefully warped by wine, to mimic normal movement and interact with other
applications - but it disables mouse acceleration in doing so, so such behavior
is only acceptable when the active window has cooperative dinput active, in all
other situations the DGA mouse grab must be released and normal mouse movement
used.

To the user the only difference between having a cooperative dinput window
active and having a normal window active, is that mouse acceleration changes,
and there might be a very slight lag (1 refresh).

All normal application interaction would be preserved.

> Also you seems to totally ignore what I said here numerous times - warping
> mouse is out of the question period end of story. You can not make all
> applications work this way. You will fix one type and break another type.

I did say that DGA support is necessary, I only brought up the "hidden mouse"
fallback (where warping is required and the pointer MUST be hidden) as a
possible fallback that has many undesirable side effects, I recommended against
using such a method if at all possible, because it is not robust at all.

It was only in a summary of possible solutions, and noted as having many
problems.

Where as DGA + mouse warping to mimic real movement would be at least somewhat
robust.

> The best example are all Quake 2+ engine based games that use dinput (Half-Life
> even tho based on Q2 engine doesn't use dinput at all). These games incorrectly
> acquire mouse in game mode as non-exclusive background coop. If you start
> warping mouse in this coop mode you'll break all programs that show system
> cursor in the menu for example.

You are clearly not understanding what I am talking about then.

This cooperative mode using DGA would ALTER the mouse movement behavior
(because wine is really doing the movement), but not disable it, it would still
be able to interact with all normal applications even while the cooperative app
is focused - but as soon as the app is defocused it would return to normal
movement to restore expected behavior (mouse acceleration).

> XInput2 does exactly what Wine needs and that's what Wine will use to fix this
> bug no matter if you like it or not. This means you'll be getting XOrg 7.5
> sooner then you wanted.

I look forward to seeing an XInput2 solution.

However users will continue this discussion until everyone is running xorg 7.5
- and I do not expect that to happen for years, there are still people running
debian stable and expecting wine to work.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list