[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: Keyboard / mouse event handling questions
From:       Ulrich Weigand <weigand () informatik ! uni-erlangen ! de>
Date:       1999-09-29 21:44:50
[Download RAW message or body]


> > Actually, the 'keyState' that is passed to the WM_ messages should
> > already reflect all changes due to this event; so you should *first*
> > change all the MouseButtonStates values according to dwFlags, and
> > *then* use GET_KEYSTATE() to actually retrieve the new settings ...
> 
> Ok, will fix that in my new revision of the patch. One question about
> this : what about 'SwappedButtons' ? Should I modify the GET_KEYSTATE
> macro to handle this tohave the same behaviour as the current software ?

Well, under Windows the WM_ flags settings (just like the return values
of GetKeyState( VK_xBUTTON )) completely *ignore* the SwappedButtons
settings; this is even documented in the MSDN (they say the app should
query the GetSystemParameters setting whether mouse button swapping
is active, and do the swap for itself :-/).

> > Furthermore, you still use the X11 keyState if present; maybe we
> > should for the sake of consistency *always* use the internal key
> > state?
> 
> I will suppress the KeyState in Wine's private mouse message.

On second thought, maybe it is better to use this information after
all, as we don't have complete control over the mouse like Windows has:
think about the mouse moving inside a Wine window while a button is
already pressed ...

If we *do* use the X keyState setting, however, we should use it
consistently: update the complete internal state (MouseButtonsStates)
according to that info.

Bye,
Ulrich

-- 
  Ulrich Weigand,
  IMMD 1, Universitaet Erlangen-Nuernberg,
  Martensstr. 3, D-91058 Erlangen, Phone: +49 9131 85-7688


=========================================================================

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic