From 2190d2514a8ed4f3d345554da39afdfc709516d5 Mon Sep 17 00:00:00 2001 From: Tai-hwa Liang Date: Wed, 19 Sep 2012 11:10:47 -0700 Subject: [PATCH] --- yaml --- r: 323029 b: refs/heads/master c: 30ebb7fa0e3e92145b859ad6e44aa6dc636b4103 h: refs/heads/master i: 323027: e38a317cbeb63f00c6b7acad8c4f595c350128c6 v: v3 --- [refs] | 2 +- trunk/drivers/input/mouse/sentelic.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d76377f2b482..e46c382fe2a9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 59d1f5c41a21f0d87973f2dedd40efd927a201d6 +refs/heads/master: 30ebb7fa0e3e92145b859ad6e44aa6dc636b4103 diff --git a/trunk/drivers/input/mouse/sentelic.c b/trunk/drivers/input/mouse/sentelic.c index 3f5649f19082..a261d8576919 100644 --- a/trunk/drivers/input/mouse/sentelic.c +++ b/trunk/drivers/input/mouse/sentelic.c @@ -721,6 +721,17 @@ static psmouse_ret_t fsp_process_byte(struct psmouse *psmouse) switch (psmouse->packet[0] >> FSP_PKT_TYPE_SHIFT) { case FSP_PKT_TYPE_ABS: + + if ((packet[0] == 0x48 || packet[0] == 0x49) && + packet[1] == 0 && packet[2] == 0) { + /* + * Ignore coordinate noise when finger leaving the + * surface, otherwise cursor may jump to upper-left + * corner. + */ + packet[3] &= 0xf0; + } + abs_x = GET_ABS_X(packet); abs_y = GET_ABS_Y(packet);