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

Takashi Iwai tiwai at suse.de
Mon Oct 11 08:58:09 PDT 2010


At Mon, 11 Oct 2010 17:31:22 +0200,
Henrik Rydberg wrote:
> 
> On 10/11/2010 04:49 PM, Takashi Iwai wrote:
> [...]
> >>> 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.
> >>
> >>
> >> Are you aware of http://bitmath.org/code/multitouch/? The driver was developed
> >> to address very similar issues on the macbook trackpads.
> > 
> > Well, I thought Macs don't use the certain areas as virtual buttons
> > but determines the button by the number of fingers.  Or was it
> > changed?  If yes, could you point out which source file does it?
> 
> 
> The trackpads with integrated button are like clickpads with one button. It
> would certainly be interesting to use the clickpad pattern on those as well. For
> both types of pads, the bottom area is special. Two-finger scroll works as
> normal, while a clicking finger may move around without affecting anything, nor
> the number of fingers on the pad.
> 
> > I'm looking through the git tree
> > http://bitmath.org/git/multitouch.git, but couldn't find out yet...
> 
> 
> src/memory.c might be what you are looking for. There are also two unpublished
> branches around - one which uses the mtdev library, and one which uses
> utouch-grail directly (but with limited functionality).

Thanks, I found what it does now.
Indeed, the clickpad behavior would be to add left/right areas (and
the middle area if wanted) instead of a single button area.

> >>> 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.
> >>
> >>
> >> Also addressed in that project. What I am hoping to see, eventually, is code
> >> similar to the core of the multitouch project in something like ginn. This would
> >> exercise the whole utouch stack in an extensible way, and finally make
> >> multitouch trackpads work the way they are supposed to.
> > 
> > If the messy behavior of clickpad suits with the multi-touch library,
> > I have nothing against it, sure.  It was just my concern that the
> > clickpad-style handling might pollute the code.
> 
> 
> I am not sure it has to be messy at all, and it has to reside *somewhere*. I
> think something like ginn, or parallel to ginn, is the best long-run place for
> it. Submitting clickpad functionality to multitouch for starters would
> definitely work in my book.

OK, that sounds good.

What I was concerned is that the choice of sensitivity and
acceleration functions for pointer movement aren't easy for such
devices.  In the button area, especially insensitive movement is
required because of pressing.  The default function of synaptics
driver was too sensitive, and thus a special handling was needed.


Takashi


More information about the xorg-devel mailing list