XComposite input redirection/transformation proposal
Dennis Kasprzyk
onestone at opencompositing.org
Sat Feb 16 20:16:29 PST 2008
Keith Packard wrote:
>
> On Sun, 2008-02-17 at 03:56 +0100, Dennis Kasprzyk wrote:
>
>> Now how should we handle grabs?
>
> Not to discourage you from trying, but this is one approach I tried a
> couple of years ago; grabs turn out to make this so hard that I
> abandoned it and threw away the small amount of code I had started to
> write.
>
> The server really wants to know *right now* which window an event is
> targeted at; it cannot process any more input events or client requests
> until it resolves whether the current input event causes a grab to fire.
> Then there's the whole synchronous grab adventure. In many cases,
> executing X requests would require a sequence of coordinates to be
> transformed before the request could be satisfied.
>
> This meant that lots of X requests would need to block waiting for the
> redirection client to process a bunch of coordinate transformations.
> Things like 'QueryPointer' turned into quite the adventure;
> TranslateCoordinates was even more fun. Replay*, and AllowEvents would
> require that the *whole* set of queued events be transformed atomically
> before the request could be completed.
>
> It may be possible to do all of this, but providing some mechanism for
> performing the coordinate transformation entirely within the X server
> seems like a far easier, and less invasive, change.
>
David Reveman made patches for such a system a long time ago, but no one
with enough xserver knowledge tried to finalize the patches for xserver
inclusion. Everyone is saying that we need it, but it's always only moved
to the todo list for the next xserver version.
Dennis
More information about the xorg
mailing list