[PATCH RFC] New raw event behaviour for XI 2.1

Simon Thum simon.thum at gmx.de
Thu May 12 01:06:47 PDT 2011

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.



> 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
>>> _______________________________________________
>>> xorg-devel at lists.x.org: X.Org development
>>> Archives: http://lists.x.org/archives/xorg-devel
>>> Info: http://lists.x.org/mailman/listinfo/xorg-devel

More information about the xorg-devel mailing list