From 05833fda0c31938206f134e8fa1876c3360bf6c9 Mon Sep 17 00:00:00 2001 From: Chase Douglas Date: Wed, 16 Mar 2011 14:14:13 +0100 Subject: Disable rotation gestures for semi-mt devices To avoid poor user experience with semi-mt devices, disable rotation detection, such that only drag and scale is emitted. Signed-off-by: Chase Douglas Signed-off-by: Henrik Rydberg --- src/grail-gestures.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/grail-gestures.c b/src/grail-gestures.c index fd8b26b..dde8d60 100644 --- a/src/grail-gestures.c +++ b/src/grail-gestures.c @@ -166,6 +166,7 @@ void gru_init_motion(struct grail *ge) void gru_motion(struct grail *ge, const struct utouch_frame *frame) { + const struct utouch_surface *s = utouch_frame_get_surface(ge->impl->fh); struct gesture_recognizer *gru = ge->gru; struct move_model *m = &gru->move; grail_time_t t = frame->time; @@ -196,8 +197,10 @@ void gru_motion(struct grail *ge, r = compute_radius(x, y, frame); r = move_filter(&m->fm[FM_R], r); a = m->fm[FM_A].value; - a += compute_rotation(x, y, r, frame); - a = move_filter(&m->fm[FM_A], a); + if (!s->is_semi_mt) { + a += compute_rotation(x, y, r, frame); + a = move_filter(&m->fm[FM_A], a); + } move_update(m, FM_X, x, t); move_update(m, FM_Y, y, t); move_update(m, FM_R, r, t); -- cgit v1.2.3