[PATCH] evdev: pass the valuators to the X server for ButtonPress/Release events.
peter.hutterer at who-t.net
Thu Feb 25 22:52:18 PST 2010
On Fri, Feb 26, 2010 at 08:28:36AM +0200, Oliver McFadden wrote:
> On Fri, 2010-02-26 at 01:48 +0100, ext Peter Hutterer wrote:
> > Are you guys using XI or XI2? Because you won't see a change in core events
> > with the change above. You're still posting MotionNotify events before, so
> > adding the valuators to the event have little result for core clients. Only
> > XI events would have these new valuators included.
> Well, the X server in Maemo 5 is a bit older and has some incomplete
> version of XI2, so most programs are still using XI from what I
> > I'd prefer a change that skips the xf86PostMotionEvent so that we just send
> > the button event with the new coordinates.
> Wouldn't this break older clients though? What if some client expects
> ButtonPress/Release to be basically boolean pointer down/up events and
> takes the coords from MotionNotify?
Unlikely, given that press/release contains the coordinates and MotionNotify
events are not really something most clients need or want.
Regardless, the server needs to take care of this to be protocol compatible
but it's not really the driver's job to do so. So you need to ensure that if
you call xf86PostButtonEventP, a MotionNotify is generated as well as a
button press event. tbh, I don't know if that is the case atm.
the real net effect you get out of changing this it is that:
- the driver only calls once into the server
- the XI events have the valuators attached.
whether that's worth the cost of implementing it - you decide :)
More information about the xorg-devel