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

Peter Korsgaard jacmet at sunsite.dk
Wed Mar 23 15:18:17 PDT 2011

>>>>> "Peter" == Peter Hutterer <peter.hutterer at who-t.net> writes:


 Peter> Having rotation support has been a feature requested for a while
 Peter> now. Now we've had two independent implementations happen within
 Peter> quite a short timeframe, one in synaptics, one in evdev (and
 Peter> wacom has had it's own implementation for a while). So the
 Peter> question is now, how to do this best.

 Peter> We have the transformation matrix in the server which can be
 Peter> used to rotate absolute devices. But it's not yet suited for
 Peter> relative devices and I'm not 100% sure it's a trivial task to do
 Peter> so.

Why is that? I haven't looked, but I would expect you could just handle
relative motion as a 2d vector, and apply the transformation to it.

 Peter> The alternative is a separate transformation property. To unify
 Peter> this, I'd like to see this property defined by the server (but
 Peter> not necessarily implemented by the server). Since different
 Peter> devices have different requirements (e.g. synaptics may only
 Peter> allow rotation in 90 deg angles) it seems best implemented by
 Peter> the driver.

Using the existing matrix seems to me like the cleanest approach. I know
it is a bit more complicated than a single rotation angle, but this
extra complexity also brings more features (E.G. the offset/scaling
stuff needed for absolute devices in multihead setups).

I don't get what you mean about synaptics only allowing 90 deg angles
rotation - Isn't rotation purely a software feature?

Bye, Peter Korsgaard

More information about the xorg-devel mailing list