diff options
Diffstat (limited to 'src/gestures.c')
| -rw-r--r-- | src/gestures.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gestures.c b/src/gestures.c index b6c3bf4..d061f93 100644 --- a/src/gestures.c +++ b/src/gestures.c | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | 25 | ||
| 26 | #include "gestures.h" | 26 | #include "gestures.h" |
| 27 | 27 | ||
| 28 | static const int FINGER_THUMB_MS = 400; | ||
| 28 | /** | 29 | /** |
| 29 | * extract_buttons | 30 | * extract_buttons |
| 30 | * | 31 | * |
| @@ -83,11 +84,19 @@ static void extract_movement(struct Gestures *gs, struct MTouch* mt) | |||
| 83 | ymove /= nmove; | 84 | ymove /= nmove; |
| 84 | 85 | ||
| 85 | if (nmove == 1) { | 86 | if (nmove == 1) { |
| 87 | if (mt->mem.moving & mt->mem.thumb) { | ||
| 88 | mt_skip_movement(mt, FINGER_THUMB_MS); | ||
| 89 | return; | ||
| 90 | } | ||
| 86 | gs->dx = xmove; | 91 | gs->dx = xmove; |
| 87 | gs->dy = ymove; | 92 | gs->dy = ymove; |
| 88 | if (gs->dx || gs->dy) | 93 | if (gs->dx || gs->dy) |
| 89 | SETBIT(gs->type, GS_MOVE); | 94 | SETBIT(gs->type, GS_MOVE); |
| 90 | } else { | 95 | } else { |
| 96 | if (mt->mem.moving & mt->mem.thumb) { | ||
| 97 | mt_skip_movement(mt, FINGER_THUMB_MS); | ||
| 98 | return; | ||
| 99 | } | ||
| 91 | gs->dx = xmove; | 100 | gs->dx = xmove; |
| 92 | gs->dy = ymove; | 101 | gs->dy = ymove; |
| 93 | if (abs(gs->dx) > abs(gs->dy)) { | 102 | if (abs(gs->dx) > abs(gs->dy)) { |
