Synaptics patch: orientation

Mildred Ki'Lya ml.mildred593 at
Tue Nov 11 08:46:30 PST 2008


Le Tue 11/11/2008 à 15:21 Éric Piel à écrit:
> Hi,
> It's great, it's a feature I've been really looking for!
> However, I have a couple of comments.
> First, as this is clearly following the xrandr notions, I think it
> should call the same things the same. So let's call it "rotation"
> instead of "orientation" (unless in the inside of the Xrandr protocol
> it's called orientation?).

Well, xrandr uses the option -o/--orientation at least for me (RandR
version 1.2)

> Also, the idea of rotation has nothing specific to the synaptics
> touchpad, it's just generic to any pointer device. For instance, I
> think there was recently some patches to swap the axes in the evdev
> driver. Shouldn't all this infrastructure be in a generic layer? At
> least, it would be good if all the drivers conformed to the same
> features, property names, and property behaviour :-)

The reason is very simple, I already had a look into the synaptics code
(to implement emulation of middle and right clock on apple touchpads
that only have a single button). It's the only piece of code from Xorg I
know and can patch. if I had to change the implementation in the X
server, it would have been more difficult (impossible for me now, I'm
willing to learn but unfortunately don't have much time for it and
don't know how to find information).

So I agree with you, but I couldn't do that.

But isn't there a work going on to have a common way to change the
configuration of Xorg modules ? Currently synaptics uses the shared
library but it may change in the future if some new method is found
more appropriate.

Also, a reason to have it directly in synaptics would be that it allows
synaptics to rotate some features (like the edges and corners, used to
scroll and emulate other clicks).

> Last but not least, as a user, only the rotation is useful. I don't
> care about "DontReportSize", "VertSpeed" and "HorizSpeed", they are
> just tricks that have to be done to get the touchpad correctly
> behaving after a rotation is applied. They should be computed
> automatically.

For the DontReportSize, it may not be necessary as it is perhaps
possible for synaptics to change dynamically the trackpad's dimensions,
but I didn't knew how to do that. Moreover, Xorg generally speed up an
axis and thus makes it impossible (in my case actually) to move the
cursor of only one pixel in one direction.

I choosed to put this options so the normal behaviour of synaptics
would be the same as usual (I don't want to send a patch that changes
the default behaviour yet). And since we cannot change this
dynamically (for example when the orientation changes), I had to
include it as an option.

And for the speed option, I thought it could be interesting to have
them as options (so the user could manually tweak them) but I agree on
that point I could have computed the speeds depending on the trackpad's
dimensions when DontReportSize is true.

> > The next thing would be to automatically change the orientation of
> > the trackpad when XRandR rotates the screen.
> Certainly not at the X server level. I have two screens, which
> screen's orientation are you going to use? However, at a higher
> level, like in the gnome applet for screen resolution, that would be
> very useful.

I was thinking at a higher level (like the gnome applet). But why not
at the lower level (if specifically allowed in xorg.conf). The screen
that would be monitored would be of course the laptop's screen (LVDS
for me).

Well, I guess that if you have a trackpad it's on a laptop, right?



Mildred Ki'Lya
╭───────── ──────────
│ Jabber, GoogleTalk: <mildred at>
│ Site: <>              GPG ID: 9A7D 2E2B
│ Fingerprint: 197C A7E6 645B 4299 6D37 684B 6F9D A8D6 9A7D 2E2B

More information about the xorg mailing list