Re: [PATCH 7/7] elantech: average the two coordinates when 2 fingers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 30, 2010 at 4:41 PM, Éric Piel <E.A.B.Piel@xxxxxxxxxx> wrote:
>
> Op 30-07-10 23:01, Henrik Rydberg schreef:
> > On 07/30/2010 08:55 PM, Éric Piel wrote:
> :
> >>> I am concerned what happens when you put one finger first and then add
> >>> another one. Would not that couse the cursor to jump?
> >
> >
> > I agree, I have seen this behavior before and it is not quite what you want. The
> > average point does jump.
> >

This is basically same approach as what synaptics hardware is
reporting.  Their  Synaptics PS/2 TouchPad Interfacing Guide mentions
current hardware reports an x/y closer to first finger during multiple
fingers and that older hardware reports a value closer to center.
Both cases, you can see movement when either finger is moving.

There are a few existing X side bug reports I've seen related to this
behaviour.  On newer synaptics pad its easiest to see if you touch 1st
finger on left side of pad, 2nd finger on right side of pad, and then
release 1st finger then you will see a big cursor jump as hardware is
force to transition over to 2nd finger x/y (make sure 2 finger
scrolling is disabled as that feature can fix issue).

I've seen xf86-input-synaptics patches floating around that try to
detect jumps-because-of-averaging from the size of delta and discard
but it is easy to be mistaken.  Probably its better to detect
BTN_TOOL_DOUBLETAP transitions back to 0 and treating similar to both
fingers being lifted to account for expected jump.

So an option is to do something similar to below and clearly document
that user space needs to account for known reporting behaviour when
BTN_TOOL_DOUBLETOUCH transitions back to 0.

input_report_abs(dev, ABS_X, x1 + (x2 & 7));
input_report_abs(dev, ABS_Y, y1 + (y2 & 7));

Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux