[PATCH synaptics] On clickpads with two touchpoints, try to detect clickfinger 3 actions
Peter Hutterer
peter.hutterer at who-t.net
Mon Dec 16 02:31:19 PST 2013
On Mon, Dec 16, 2013 at 01:02:41AM -0800, Matt Turner wrote:
> On Sun, Dec 15, 2013 at 3:49 PM, Peter Hutterer
> <peter.hutterer at who-t.net> wrote:
> > Some touchpads provide BTN_TOOL_TRIPLETAP but do not track more than two
> > touchpoints. For those, try to detect clickfinger3 actions as best as we can.
> >
> > Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> > ---
> > src/synaptics.c | 22 ++++++++++++++++++++++
> > 1 file changed, 22 insertions(+)
> >
> > diff --git a/src/synaptics.c b/src/synaptics.c
> > index e391a98..a421384 100644
> > --- a/src/synaptics.c
> > +++ b/src/synaptics.c
> > @@ -2510,6 +2510,28 @@ clickpad_guess_clickfingers(SynapticsPrivate * priv,
> > close_point >>= 1;
> > }
> >
> > + /* Some trackpads touchpad only track two touchpoints but announce
> > + BTN_TOOL_TRIPLETAP (which sets hw->numFingers to 3).
> > + This can affect clickfingers, in the following ways:
> > + * one finger down: normal click
> > + * two fingers down, close together: 2 finger click
> > + * two fingers down, apart: normal click
> > + * three fingers down, close together: 3 finger click
> > + * three fingers down, with two grouped next to each other: should be
> > + * 2-finger click but we can't detect this.
> > + * so: if two detected fingers are close together and HW says three
> > + * fingers, make it three fingers.
> > + * if two detected fingers are apart and HW says three fingers, make
> > + * it a two-finger click, guessing that the third finger is somewhere
> > + * close to another finger.
> > + */
> > + if (hw->numFingers >= 3 && nfingers < hw->numFingers) {
> > + if (!nfingers) /* touchpoints too far apart apart */
>
> Doubled apart.
that's how far they are apart :)
More information about the xorg-devel
mailing list