From freedesktop-compiz Sun Jun 03 02:45:41 2007 From: Dennis Kasprzyk Date: Sun, 03 Jun 2007 02:45:41 +0000 To: freedesktop-compiz Subject: Re: [compiz] status of input redirection Message-Id: <200706030526.07367.onestone () opencompositing ! org> X-MARC-Message: https://marc.info/?l=freedesktop-compiz&m=118083874113545 Am Freitag, 1. Juni 2007 21:47:17 schrieb David Reveman: > On Fri, 2007-06-01 at 13:28 -0400, Kristian Høgsberg wrote: > > On 5/31/07, David Reveman wrote: > > > On Tue, 2007-05-29 at 08:53 +0200, dragoran wrote: > > > > There where some patches to implement input redirection in xorg a > > > > while ago... > > > > what happend to them? are they still beeing worked on? > > > > > > The attached patches work well. The server patch needs some more work > > > if we want to allow different pickers and I haven't had time to do that > > > yet. > > > > Can we merge the server patch as is and punt on the pluggable picker > > idea for now? I mean, can we do this in a way that lets the > > interested parties add this support in a second step without breaking > > backwards compatibility? If that's doable, I don't think we need to > > block on the pluggable picker idea now. > > I've attached a new patch with a more appropriate change to > WriteEventsToClient. > > I'm OK with merging the patch in it's current state. Pluggable pickers > can definitely be added later without breaking backwards compatibility. > > There's a few things that needs to be improved but I think the current > patch is good enough for common use in compositing managers. > > TODO: > > I've tried to move the event coordinate transformation into > FixUpEventFromWindow, which means making copies of events in a lot of > places as FixUpEventFromWindow is sometimes called multiple times with > the same xEvent. However, I never got that to work correctly and I > haven't had time to figure out exactly why yet. > > The pointer grab code might need some more work but the patch should of > course not affect non-transformed input in any way. > > I think that transformed input of non top-level windows isn't working > correctly. This should be easy to fix though, I just need to write a > good test app. > > -David After playing with this patches I thought that maybe this interface could also be extended to some basic real input "redirection". Instead of a mapping from the "transformed" coordinate space to the "real" window coordinate space, there could be an additional value, that tells the xserver to redirect and transform the input from the "transformed" coordinate space to another window coordinate space. With something like this we could realize something like cloned windows in different stack positions (using "input only" windows and the composite manager). I think about somethink like this: XCompositeSetTriangularCoordinateMesh(Display *dpy, Window source, Window destination, XTriangle *triangle, int ntriangle); I don't know enough about the xserver internals to tell if something like this is possible, but I think that this could extend the range for possible effects. Dennis _______________________________________________ compiz mailing list compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz