[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:
Hi,
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