loleaflet/src/map/handler/Map.TouchGesture.js |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit ecab3d959854f5955d165f8a6b9b8ea01447f1d7
Author:     Ashod Nakashian <ashod.nakash...@collabora.co.uk>
AuthorDate: Sat Feb 22 11:26:14 2020 -0500
Commit:     Ashod Nakashian <ashnak...@gmail.com>
CommitDate: Sun Feb 23 22:04:30 2020 +0100

    leaflet: tolerate larger multi-tap threshold
    
    When double-tapping (or tripple) the user is almost
    always going to place their finger at different
    coordinates for each of the taps. There is a default
    threshold of 10 units between the taps in Hammer
    to tolerate for this error when detecting multiple
    taps, rather than individual taps.
    
    This threshold of 10 is really small and unrealistic
    for our needs, as in most cases double-tapping (which
    we use very often to select words and begin editing
    in Impress) is not detected (single-taps are issued
    instead). This makes interaction/usability very hard.
    
    Here we increase the threshold to a comfortable 100.
    If this causes any other usability issues, we can
    lower it acccordingly, but so far it only improved
    the experience for me.
    
    Change-Id: I3fee43c3efaa4507cae09b7c564cb4c0c1b5384e
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89310
    Tested-by: Ashod Nakashian <ashnak...@gmail.com>
    Reviewed-by: Ashod Nakashian <ashnak...@gmail.com>

diff --git a/loleaflet/src/map/handler/Map.TouchGesture.js 
b/loleaflet/src/map/handler/Map.TouchGesture.js
index 3259f94d5..c0d4bb4ce 100644
--- a/loleaflet/src/map/handler/Map.TouchGesture.js
+++ b/loleaflet/src/map/handler/Map.TouchGesture.js
@@ -48,7 +48,14 @@ L.Map.TouchGesture = L.Handler.extend({
 
                        var singleTap = this._hammer.get('tap');
                        var doubleTap = this._hammer.get('doubletap');
-                       var tripleTap = new Hammer.Tap({event: 'tripletap', 
taps: 3 });
+
+                       // Multi-tap detection tolerates a slight change in 
coordinates
+                       // between the taps. The default of 10 is too small for 
our needs.
+                       // So we use something more sensible to make it easier 
for users.
+                       var posThreshold = 100;
+                       doubleTap.options.posThreshold = posThreshold;
+
+                       var tripleTap = new Hammer.Tap({event: 'tripletap', 
taps: 3, posThreshold: posThreshold });
                        this._hammer.add(tripleTap);
                        tripleTap.recognizeWith([doubleTap, singleTap]);
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to