[RFC PATCH] Add XI_PROP_ROTATION property to the server's properties.
Peter Hutterer
peter.hutterer at who-t.net
Sun Mar 27 23:11:45 PDT 2011
On Wed, Mar 23, 2011 at 11:18:17PM +0100, Peter Korsgaard wrote:
> >>>>> "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.
i tried to find the patches when I attempted it but now all I remember is
that I couldn't get it to work easily. so something was missing.
> 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?
yes, of course. it's more that the driver arguably shouldn't allow non-90
degree rotations. but then again, you could argue that telling a user not to
shoot themselves in the foot is enough, we don't need to take their gun
away.
Cheers,
Peter
More information about the xorg-devel
mailing list