diff -Nru utouch-grail-1.0.15/debian/changelog utouch-grail-1.0.15/debian/changelog --- utouch-grail-1.0.15/debian/changelog 2010-10-05 16:01:11.000000000 +0200 +++ utouch-grail-1.0.15/debian/changelog 2010-11-04 19:37:52.000000000 +0100 @@ -1,3 +1,9 @@ +utouch-grail (1.0.15-0ubuntu2) maverick-proposed; urgency=low + + * Report touch down on one-finger entry (LP: #667802) + + -- Henrik Rydberg Mon, 01 Nov 2010 18:06:25 +0100 + utouch-grail (1.0.15-0ubuntu1) maverick-proposed; urgency=low * New upstream release. diff -Nru utouch-grail-1.0.15/debian/patches/0001-Report-touch-down-on-one-finger-entry.patch utouch-grail-1.0.15/debian/patches/0001-Report-touch-down-on-one-finger-entry.patch --- utouch-grail-1.0.15/debian/patches/0001-Report-touch-down-on-one-finger-entry.patch 1970-01-01 01:00:00.000000000 +0100 +++ utouch-grail-1.0.15/debian/patches/0001-Report-touch-down-on-one-finger-entry.patch 2010-11-02 18:11:40.000000000 +0100 @@ -0,0 +1,40 @@ +From 878a64f830fbf4135e7450df50655616da9a8dc6 Mon Sep 17 00:00:00 2001 +From: Henrik Rydberg +Date: Mon, 18 Oct 2010 16:13:55 +0200 +Subject: [PATCH] Report touch down on one-finger entry + +The current code mistakenly set the pointer logic based on +the single variable, which is false at the entry to one-finger +mode, but true immediately afterwards. This leads to grail +sometimes failing to emit the proper emulation sequence, resulting +in a missed touch in X. + +This patch corrects the logic such that the pointer is based directly +on one-finger mode, thereby solving the problem. + +Signed-off-by: Henrik Rydberg +--- + src/grail-api.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/grail-api.c b/src/grail-api.c +index bf5a7df..9cc94df 100644 +--- a/src/grail-api.c ++++ b/src/grail-api.c +@@ -90,10 +90,10 @@ static void handle_abs_events(struct grail *ge, const struct input_event *syn) + struct tapping_model *tap = &gru->tapping; + int used_move = grail_mask_count(gin->types, sizeof(gin->types)); + int used_tap = grail_mask_get(gin->types, GRAIL_TYPE_TAP1); +- int ismove = move->single && (move->active & fm_mask) && !used_move; +- int ishold = move->single && tap->active && !used_move; ++ int pointer = move->ntouch == 1; ++ int ismove = pointer && (move->active & fm_mask) && !used_move; ++ int ishold = pointer && tap->active && !used_move; + int istap = gru->tapping.tap == 1 && !used_tap; +- int pointer = move->single; + + if (!impl->pointer_status && pointer) { + impl->report_x = impl->pointer_x; +-- +1.7.1 + diff -Nru utouch-grail-1.0.15/debian/patches/series utouch-grail-1.0.15/debian/patches/series --- utouch-grail-1.0.15/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ utouch-grail-1.0.15/debian/patches/series 2010-11-04 15:11:26.000000000 +0100 @@ -0,0 +1 @@ +0001-Report-touch-down-on-one-finger-entry.patch