input transformations

Deron Johnson Deron.Johnson at Sun.COM
Tue Feb 6 10:56:45 PST 2007

David Reveman wrote:

>>From the talks keithp has given on the subject I've understood that
>implementing this properly is very hard, if not impossible. Is that not
>the case anymore?

In December I came up with an idea which I discussed with Keith which  
may finally solve the problem of
correctly routing events between the X server and an external "picker" 
client which owns the scene graph. At that time
he was advocating for the idea of a simple in-server picker. (By 
"picking" I mean using 3D geometry to map transform
the event). So together we came up with an idea which I call "plug-in 
pickers." It is possible to support in the X server
multiple methods for transforming input events. Such a method is called 
a Picker. A managing client (such as a composite
manager) could associate a specific kind of picker with a window. And 
the set of pickers can be extended in the future.
So, for example, compiz could associate with all windows a picker which 
processes input events using information
provided via your input-transform extension. And the LG composite 
manager could associate with its windows an
LG-specific picker which routes the events to the LG composite manager 
for external picking. Both use cases can
be accommodated by the same infrastructure.

This approach involves minimal extra code and provides complete 
flexibility for the future. It's simple and it accommodates
both what compiz and LG need plus if you decide that you want to go with 
a more complicated external scene graph in
the future you can either use the LG picker or develop your own custom 

I'm attaching a copy of the proposal I sent out in December. Let's talk 
about this on Friday.
(My current plan is to be at XDC Wednesday morning and all day Friday).

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: picker_design.txt
URL: <>

More information about the xorg mailing list