[PATCH v2] input: deliver raw events unconditionally for XI 2.1 clients.
peter.hutterer at who-t.net
Tue May 24 21:44:01 PDT 2011
Deliver raw events regardless whether there is a grab on or not for clients
supporting 2.1 or later.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
On Sat, May 21, 2011 at 01:21:28PM +0100, Daniel Stone wrote:
> On Wed, May 11, 2011 at 02:59:35PM +1000, Peter Hutterer wrote:
> > @@ -2039,7 +2085,8 @@ DeliverEventToClients(DeviceIntPtr dev, WindowPtr
> > win, xEvent *events,
> > mask = GetEventMask(dev, events, other);
> > if (XaceHook(XACE_RECEIVE_ACCESS, client, win,
> > - events, count))
> > + events, count) ||
> > + FilterRawEvents(dev, events, grab, client))
> > /* do nothing */;
> > else if ( (attempt = TryClientEvents(client, dev,
> > events, count,
> I'd rather do the filtering in TryClientEvents, where we already do
> pretty much all the filtering.
Sure, why not, see below.
> Speaking of: TryClientEvents will bin the event
> if (grab && !SameClient(grab, client)). So don't you need to change
> that to get this working as well?
This whole thing relies on the right caller order. Which is a bit of a hack
but until we have internal events everywhere the best way to integrate it.
More information about the xorg-devel