On 05/12/2011 01:57 AM, Peter Hutterer wrote: > On Wed, May 11, 2011 at 09:16:15PM +0200, Simon Thum wrote: >> On 05/11/2011 06:59 AM, Peter Hutterer wrote: >>> >>> The current raw event behaviour is pretty useless. RawEvents are sent to all >>> root windows but only if the device is not grabbed. Clients that need to >>> monitor devices can only do so by grabbing the device - rendering it >>> unusable to other clients. Real device monitoring (like we want for 2.1 >>> touch support for example) is not possible. >>> I have yet to hear of someone who actually needs the current behaviour and I >>> can't imagine a use-case that does either. >> Hi Peter, >> >> it's great you're tackling this. When I suggested raw events I didn't >> think such limits would apply for whatever reason. >> >> I haven't read the spec recently, but I'm sure I would have objected >> that when raw events were introduced - given I had noticed. So I'd say >> if there is no explicit statement that raw events are subject to grabs >> before 2.1, why not change it to match common sense, disregarding client >> protocol version? > > There is an explicit statement in the protocol: > "RawEvents are sent exclusively to all root windows or to the client > that grabbed the device only." Thanks for the clarification. I guess the intent was to support full-screen apps and those who care, but I don't think a grab implements that properly.
Cheers, Simon > > So we can't change it for 2.0 anymore, but as you can see from the patchset > it's quite trivial to support it for 2.1. > > Cheers, > Peter > > >> After all, they're separate events. Reliance on such a (unspecified) >> detail should be very low. >> >> Cheers, >> >> Simon >> >> >>> >>> Change the behaviour for clients supporting 2.1 so that raw events are >>> delivered regardless whether a grab is active on the device. Behaviour for >>> 2.0 clients stays the same. Clients that grabbed devices to get raw events >>> will still get raw events, so that part of the 2.0 behaviour is preserved >>> even with 2.1. >>> >>> No protocol additions, only documentation update necessary. No libXi patch >>> needed. Note that if you just apply the patch as-is, testing will fail since >>> XIQueryVersion still limits the server to 2.0. You need to manually bump the >>> server to 2.1 for the changes to take effect. >>> >>> The X server patch builds onto the patchset I just sent out before. >>> >>> Cheers, >>> Peter >>> >>> _______________________________________________ >>> [email protected]: X.Org development >>> Archives: http://lists.x.org/archives/xorg-devel >>> Info: http://lists.x.org/mailman/listinfo/xorg-devel >>> >> > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
