[RFC PATCH] Add XI_PROP_ROTATION property to the server's properties.

Peter Hutterer peter.hutterer at who-t.net
Tue Mar 22 22:48:39 PDT 2011

On Tue, Mar 22, 2011 at 10:37:22PM -0700, Daniel Stone wrote:
> Hi,
> Thinking out loud ...
> On Wed, Mar 23, 2011 at 03:13:55PM +1000, Peter Hutterer wrote:
> > Having rotation support has been a feature requested for a while
> > now. Now we've had two independent implementations happen within quite a
> > short timeframe, one in synaptics, one in evdev (and wacom has had it's own
> > implementation for a while). So the question is now, how to do this best.
> > 
> > We have the transformation matrix in the server which can be used to rotate
> > absolute devices. But it's not yet suited for relative devices and I'm not
> > 100% sure it's a trivial task to do so.
> > 
> > The alternative is a separate transformation property. To unify this, I'd
> > like to see this property defined by the server (but not necessarily
> > implemented by the server). Since different devices have different
> > requirements (e.g. synaptics may only allow rotation in 90 deg angles) it
> > seems best implemented by the driver.
> > 
> > Of course, the exact semantics of where this property fits in have to be
> > documented to avoid nasty surprises, but that'll happen in the final version
> > of this patch then.
> > 
> > Does that make sense?
> I had in mind two properties: a CRTC ID which would bind the input
> device to the given CRTC (so, for absolute devices, map the area to the
> CRTC area), and another bool which would follow that CRTC's transform.
> So, if you had a touchscreen, you could just give it an absolute CRTC
> binding and have it always follow the CRTC's transform to get rotated
> co-ords, etc.
> We might still need an explicit rotation property though.  But yeah.

you already need a client to toggle the CRTC rotation, why not let that
client toggle input device rotation as needed?
having those two hooked up in the server it just seems like headache.

e.g. i may have a wacom tablet I use upside down (to have the buttons on the
right side of the tablet). what happens when I rotate my screen now? does it
rotate my tablet to be 90 degrees? not sure that's what I want.


More information about the xorg-devel mailing list