[PATCH 0/3] Input: synaptics - multitouch and multifinger support

Takashi Iwai tiwai at suse.de
Mon Oct 11 07:01:00 PDT 2010


At Mon, 11 Oct 2010 08:41:44 -0500,
Chris Bagwell wrote:
> 
> On Mon, Oct 11, 2010 at 2:48 AM, Henrik Rydberg <rydberg at euromail.se> wrote:
> > On 10/11/2010 09:35 AM, Takashi Iwai wrote:
> > [...]
> >
> >> In anyway, feel free to add my sign-off there since I already posted
> >> my own one as a reference.
> >>
> >> But, I have an open issue with Chase's patch.  Maybe it's rather a
> >> question to Henrik:
> >>
> >> Shouldn't all points be reported as ABS_MT_* events?  So far, only the
> >> second touch-point is reported via ABS_MT_* while the first  point is
> >> still reported as ABX_[X|Y].
> >>
> >> I corrected this in my patch I posted, but I wasn't sure, too.
> >
> >
> > I have issues with all submitted patches, but did not give explicit reasons
> > since there were overlapping submissions. Perhaps Chase and yourself can work
> > out how you want to submit the new patches? And yes, all points should be
> > reported as ABS_MT events.
> >
> > Thanks,
> > Henrik
> >
> 
> And is it also safe to say that we need to continue to report
> ABS_X/ABS_Y *and* those values need to always track 1st finger touch
> for backwards compatibility?

Indeed this was an implicit question of my previous inquiry.
I suppose mtdev tracks only ABS_MT_*?

> It was brought up in thread but not stated as strong requirement.
> 
> BTW, there are patches in last couple months to x86-input-synaptics
> that will allow it to ignore jumps in values of ABS_X/ABS_Y when
> transition of multi-touch occur (both adding or removing fingers via
> BTN_TOOL_*TAP).  So one new-ish option is for ABS_X/ABS_Y to not track
> 1st finger but become average of 2 fingers.

The tracking of multi-touch is inevitably needed for clickpad devices.

But, I'm reluctant for merging the clickpad support code into mtdev.
Its behavior is too messy, and it's only for synaptics touchpads, not
for touch-screens.  For mtdev maintenance POV, I guess, it'd be
cleaner to keep this away from it.

As an example of mess of Clickpad: if you keep your finger on a button
area and another finger on the normal area, you shouldn't trigger the
multi-touch mode, no matter whether it's clicked or not.  People tend
to keep the finger on the button before actually dragging.

But, if you put both fingers in the button area and sliding together,
it should be handled as two-finger scrolling.  Also, if you move one
finger on a button area, it should be tracked as a normal pointer
movement.

Another mess is that, as the default setup, the pointer movement is
too sensitive, and when user pushes down the touchpad for clicking,
the pointer moves a few or more pixels.  This eventually misses the
target.  So, some trick to drag the pointer is necessary for click
action.  One of my patches does it by introducing some "move
threshold" value.


Takashi


More information about the xorg-devel mailing list