diff options
-rw-r--r-- | src/gestures.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gestures.c b/src/gestures.c index 44b9613..fb81576 100644 --- a/src/gestures.c +++ b/src/gestures.c @@ -26,7 +26,8 @@ #include "gestures.h" /* timer for cursor stability on finger touch/release */ -static const int AFTER_FINGER_CHANGE_MS = 70; +static const int FINGER_ATTACK_MS = 70; +static const int FINGER_DECAY_MS = 120; static void extract_movement(struct Gestures *gs, struct MTouch* mt) { @@ -51,7 +52,11 @@ static void extract_movement(struct Gestures *gs, struct MTouch* mt) y /= mt->state.nfinger; if (!same_fingers) { - mt->mem.move_time = mt->state.evtime + AFTER_FINGER_CHANGE_MS; + mt->mem.move_time = mt->state.evtime; + if (mt->state.nfinger > mt->prev_state.nfinger) + mt->mem.move_time += FINGER_ATTACK_MS; + else + mt->mem.move_time += FINGER_DECAY_MS; } else if (mt->state.evtime >= mt->mem.move_time) { gs->dx = x - mt->mem.move_x; gs->dy = y - mt->mem.move_y; |