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
picker.
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: <http://lists.x.org/archives/xorg/attachments/20070206/4522c52f/attachment.txt>
More information about the xorg
mailing list