On Friday 16 January 2015 13:24:31 Peter Hutterer wrote:
> On Thu, Jan 15, 2015 at 10:04:17PM +0100, Gabriele Mazzotta wrote:
> > Some applications ignore the second tap of double taps because of 
the
> > lack of a delay between the button down and button up events.
> > 
> > Prevent this by replacing the transition from TS_2B to TS_START with 
a
> > transition from TS_2B to TS_SINGLETAP that emits only a button down
> > event. The button up event will be emitted when transitioning from
> > TS_SINGLETAP to TS_START.
> > 
> > In addition, decrease the default value of MaxDoubleTapTime from 180 
ms
> > to 100 ms in order to make double taps faster.
> 
> Hmm, the problem here is now that MaxDoubleTapTime is now the sum of
> ClickTime and MaxDoubleTapTime. That's ok if we hadn't exposed those 
as
> toggles but will break user's custom configurations. Even with your 
change
> we go from 180 to 200, anyone who has this option set goes to value +
> ClickTime.
> 
> Easy way around this would be to add clickTime to maxDoubleTapTime's
> default, check the option, then subtract it again after to leave the 
double
> tap timeout as the difference between the two.
> 
>      pars->click_time = xf86SetIntOption(opts, "ClickTime", 100);
>      pars->tap_time_2 = xf86SetIntOption(opts,
>                                          "MaxDoubleTapTime", 
>                                          pars->clicktime + 80);
>      pars->tap_time_2 -= pars->clicktime;
> 
> That should work, no?

I was worried about the same thing, but tests showed that the addition 
ClickTime doesn't change things that much.
I have also thought about doing something similar to what you suggest, 
but I didn't like the fact that by doing so the meaning of property 
changes in a non-obvious way.

My tests showed that the second down->up transition of double taps 
doesn't determine how fast clicks are. The same applies to the only 
down->up transition of single taps. As long as ClickTime is within a 
reasonable range, it has no tangible effect.

In case of double taps what really matters is how fast the second button 
up->down transition is (the first one depends on how fast you tap), 
which is what MaxDoubleTapTime determines.
In case of single taps what really matters is MaxTapTime.

For some reason I think the delay is more obvious for double taps and
in any case lower values of MaxTapTime makes Tap-and-Drag gestures 
impossible, so it shouldn't be changed. This is why I decided to lower 
the default value of MaxDoubleTapTime. My error was to include the 
change here as if it was required.

Sorry for not explaining this earlier.

Gabriele
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to