From: Chris Bagwell <[email protected]>

There are two initial LAG times used in current code:

1) GESTURE_LAG_MODE to wait to 1 or 2 finger detection.
2) A lag once 2 fingers are detected before deciding
what 2 finger gesture is occuring.

During #1, wcmGestureMode was set to a non-zero value but
during #2 its value was zero.  This caused cursor to move
around during #2 period when I don't think this was intention.

Also, waiting 2 times wcmTapTime felt much to long to me
before 2 finger gestures kicked in.  Shorted to just wcmTapTime.

Before this patch, if you attempt a 2 finger scroll inside a
drawing app you would get about 2 seconds worth of 1 finger
drawing.  After this patch, you get either no drawing (just
scrolling) or only a single dot drawn and the scrolling kicks
in much faster.

Signed-off-by: Chris Bagwell <[email protected]>
---
 src/wcmTouchFilter.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/wcmTouchFilter.c b/src/wcmTouchFilter.c
index 9e0ee21..eb6562a 100644
--- a/src/wcmTouchFilter.c
+++ b/src/wcmTouchFilter.c
@@ -245,7 +245,7 @@ void wcmGestureFilter(WacomDevicePtr priv, int channel)
 
        /* second finger in prox. wait for gesture event if first finger
         * was in in prox */
-       if (ds[1].proximity && !common->wcmGestureMode && dsLast[0].proximity)
+       if (ds[1].proximity && (!common->wcmGestureMode || 
common->wcmGestureMode == GESTURE_LAG_MODE) && dsLast[0].proximity)
        {
                common->wcmGestureMode = GESTURE_LAG_MODE;
        }
@@ -320,9 +320,9 @@ void wcmGestureFilter(WacomDevicePtr priv, int channel)
                    wcmFingerScroll(priv);
 
        /* process complex two finger gestures */
-       else if ((2*common->wcmGestureParameters.wcmTapTime <
+       else if ((common->wcmGestureParameters.wcmTapTime <=
            (GetTimeInMillis() - ds[0].sample)) &&
-           (2*common->wcmGestureParameters.wcmTapTime <
+           (common->wcmGestureParameters.wcmTapTime <=
            (GetTimeInMillis() - ds[1].sample))
            && ds[0].proximity && ds[1].proximity)
        {
-- 
1.7.5.4


------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Linuxwacom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to