diff options
| author | Henrik Rydberg <rydberg@euromail.se> | 2010-06-16 18:48:53 +0200 |
|---|---|---|
| committer | Henrik Rydberg <rydberg@euromail.se> | 2010-06-16 18:54:52 +0200 |
| commit | 21a363a2486a713434e890fc1f6b86a180755230 (patch) | |
| tree | ca788ccf7c8269c5cbd41350463fa478aa499903 /driver | |
| parent | 523d193b089111849873d9de0ec1bf29f4176fbc (diff) | |
Add tapping logic
This patch adds tap-to-click, tap-and-hold for dragging, two-finger
and three-finger taps. Turned on by default for touch screens only;
switch on in gestures.c.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Diffstat (limited to 'driver')
| -rw-r--r-- | driver/multitouch.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/driver/multitouch.c b/driver/multitouch.c index 888c4c4..73a025d 100644 --- a/driver/multitouch.c +++ b/driver/multitouch.c | |||
| @@ -245,6 +245,10 @@ static void handle_gestures(LocalDevicePtr local, | |||
| 245 | int step = 1 + rot_fraction * get_cap_xsize(caps); | 245 | int step = 1 + rot_fraction * get_cap_xsize(caps); |
| 246 | button_scroll(local, 14, 15, &rot, step, gs->rot); | 246 | button_scroll(local, 14, 15, &rot, step, gs->rot); |
| 247 | } | 247 | } |
| 248 | if (GETBIT(gs->type, GS_TAP) && gs->ntap == 1) { | ||
| 249 | foreach_bit(i, gs->tapmask) | ||
| 250 | tickle_button(local, i + 1); | ||
| 251 | } | ||
| 248 | } | 252 | } |
| 249 | 253 | ||
| 250 | /* called for each full received packet from the touchpad */ | 254 | /* called for each full received packet from the touchpad */ |
| @@ -258,6 +262,10 @@ static void read_input(LocalDevicePtr local) | |||
| 258 | extract_gestures(&gs, mt); | 262 | extract_gestures(&gs, mt); |
| 259 | handle_gestures(local, &gs, &mt->caps); | 263 | handle_gestures(local, &gs, &mt->caps); |
| 260 | } | 264 | } |
| 265 | if (mt_is_idle(mt, local->fd)) { | ||
| 266 | extract_delayed_gestures(&gs, mt); | ||
| 267 | handle_gestures(local, &gs, &mt->caps); | ||
| 268 | } | ||
| 261 | } | 269 | } |
| 262 | } | 270 | } |
| 263 | 271 | ||
