Questions about synaptics coordinate

Peter Hutterer peter.hutterer at who-t.net
Wed Apr 11 16:54:51 PDT 2012


On Fri, Mar 30, 2012 at 09:45:14PM +0800, Leon Shaw wrote:
> Actually I'm seeking a way to rotate my touchpad, and found the
> previous mailing thread:
> [PATCH synaptics] Add synaptics orientation support
> Is this feature already implemented elsewhere now? Or is there any
> plan to add it to synaptics driver?

there was talk about generic rotation for relative devices through the
transformation matrix, but that never got finished. orientation support in
the driver is not the way to go here, we need it for other drivers too.

Cheers,
  Peter


> 
> Thanks,
> Leon
> 
> On Fri, Mar 30, 2012 at 6:48 AM, Peter Hutterer
> <peter.hutterer at who-t.net> wrote:
> > On Thu, Mar 29, 2012 at 08:47:33PM +0800, Leon Shaw wrote:
> >> Thanks for you explanation. So we don't have a way to get the actual
> >> bezel limit, and the only reliable limit is 0x0000–0x17FF (according
> >> to "Synaptics PS/2 TouchPad Interfacing Guide"). Is that right?
> >
> > yes, that's how I understood it. bit of a bummer, could be worked around in
> > the code since it's always the same value anyway (afaict). but I only
> > noticed this a few weeks back when I was debugging something else.
> >
> > Cheers,
> >  Peter
> >
> >
> >> On Thu, Mar 29, 2012 at 2:39 PM, Peter Hutterer
> >> <peter.hutterer at who-t.net> wrote:
> >> > On Tue, Mar 27, 2012 at 12:38:01PM +0800, Leon Shaw wrote:
> >> >> Hi Peter,
> >> >>
> >> >> I looked into eventcomm.c and got confused.
> >> >>
> >> >> 1. Shouldn't apply_st_scaling be something like:
> >> >> (value - st_min[axis]) * proto_data->st_to_mt_scale[axis] + priv->minx_or_y;
> >> >> instead of
> >> >> value * proto_data->st_to_mt_scale[axis] + proto_data->st_to_mt_offset[axis];
> >> >> since st_min is normally not 0?
> >> >
> >> > yes, you're right, this appears to be broken. Can you submit a patch please?
> >> > rename the st_to_mt_offset to st_min since we don't seem to need it
> >> > elsewhere.
> >> >
> >> >> 2. My device seems reporting coordinates beyond minimum and maximum
> >> >> value in priv when I touch the edges. Is there some thing wrong?
> >> >
> >> > no, that's a synaptics "feature". the ranges the device reports are the
> >> > ones seen from a "default" finger, if your finger is larger or smaller, the
> >> > actual ranges you can trigger on the device are different. bit of a pain,
> >> > the main problem is that the driver assumes these ranges to be something
> >> > else and features have piled up on this misunderstanding for years. it'll
> >> > take a while to get rid of this.
> >> >
> >> > Cheers,
> >> >  Peter
> >>
> 


More information about the xorg-devel mailing list