double-tap and hold touchpad behavior

Peter Hutterer peter.hutterer at who-t.net
Tue Aug 23 17:42:55 PDT 2011


On Tue, Aug 23, 2011 at 12:41:31AM -0500, Brandon Casey wrote:
> On Mon, Aug 22, 2011 at 11:42 PM, Peter Hutterer
> <peter.hutterer at who-t.net>wrote:
> 
> > On Mon, Aug 22, 2011 at 11:24:38PM -0500, Brandon Casey wrote:
> > > On Fri, Aug 19, 2011 at 1:15 AM, Peter Hutterer <
> > peter.hutterer at who-t.net>wrote:
> > >
> > > > On Wed, Aug 17, 2011 at 10:16:18PM -0500, Brandon Casey wrote:
> > > > > Please let me know if this is the wrong place to post this message.
> > > > >
> > > > > For a long time now I have been missing the old method that I used to
> > use
> > > > to
> > > > > highlight text, drag-and-drop, and move windows around.  I used to be
> > > > able
> > > > > to produce a button press-and-hold by performing a double-tap and
> > hold
> > > > (tap
> > > > > twice on touchpad, but leave the finger resting on the touchpad on
> > the
> > > > > second tap).  But with recent distributions the last few years, that
> > > > doesn't
> > > > > work.  Now, it seems, you have to double-tap, hold, and drag.
> > > > >
> > > > > Is there any way to re-enable the old double-tap-and-hold instead of
> > the
> > > > > double-tap-and-drag?
> > > >
> > > > this probably doesn't help but I've just tried it here and it worked
> > fine.
> > > > you can disable it by unsetting the Synaptics Gestures property but it
> > is
> > > > enabled by default.
> > > >
> > >
> > > So, when you double-tap-and-hold on a window title bar, without moving
> > > the mouse after the second tap (i.e. no "drag" gesture), your pointer
> > grabs
> > > the title bar and the mouse icon changes to indicate that?
> >
> > tbh, I can't tap without moving, my touchpad is too sensible. it
> > always moves by a few pixels at least.
> 
> 
> "tbh"?  I don't know what that means.

"to be honest"
 
> "sensible"?  Did you mean "sensitive"?  

yes, sorry. ESL.

> I guess it's possible that your
> pointer moves enough after your second tap that the driver interprets it as
> a drag?  

correct.

> The setting is called TapAndDragGesture though, so that, along with
> the documentation, implies that a "drag" is part of the gesture.
> 
> 
> > > Just to make sure you understood me (and I you), when I do the
> > > above, nothing happens.  It doesn't even produce an event in xev.
> >
> > if you're on the window bar, the event never goes to xev, it's captured by
> > the WM. try doing it _inside_ the xev window, that should show events.
> 
> 
> Yes, sorry, when I was using xev, the pointer was within the xev window.
>  Other operations produce the appropriate events.  The dtap-and-drag gesture
> produces the button press and release events, intermixed with a bunch of
> motion events.
> 
> 
> > > The double-tap-and-drag gesture does work, but for that one, you have
> > > to drag your finger after the second tap (touch-release-touch-drag).
> > >  The Synaptics Gestures property controls this feature.  If I disable it,
> > > then it disables double-tap-and-drag, but it doesn't enable
> > > double-tap-and-hold.  You then have to use the
> > > physical buttons.
> >
> > I can't remember any changes to this extent going into the driver. maybe
> > it's a side-effect of other change but you'd have to look at the state
> > machine in the driver where exactly the problem is now.
> 
> 
> My description of the behavior I am seeing is exactly what the synaptics man
> page describes as how the TapAndDragGesture is supposed to work.  So, it
> seems like it is intended behavior.  I just hoped the old tap-and-hold
> behavior could be enabled somehow.  And when I say "old", I mean about 5
> years ago, which may predate the synaptics driver, I don't know.

there's an old state diagram in docs/tapndrag.dia that claims if the timeout
is hit after the second press, tap-n-drag should still take effect. so what
you're seeing is likely a bug but you'd need to dig into the state machine
handling in the driver to figure out where it's going wrong.
 
Cheers,
  Peter



More information about the xorg mailing list