aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Vytlacil <mrv@wi.rr.com>2007-05-21 00:31:50 -0400
committerDmitry Torokhov <dtor@insightbb.com>2007-07-10 00:35:16 -0400
commit0038cae0ffd72b75699010bd112655dc2615e2fd (patch)
tree32c097d6ec7b9c34fda75f60fad288a228a4ddc4
parentce0982edaec2c46dc9ec466e03f1fe94ee0862d8 (diff)
Input: aiptek - fix relative mode parsing
Corrections to relative mode, was looking at wrong byte Signed-off-by: Mark Vytlacil <mrv@wi.rr.com> Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
-rw-r--r--drivers/input/tablet/aiptek.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/input/tablet/aiptek.c b/drivers/input/tablet/aiptek.c
index 147ed340e6e1..c18287724a1e 100644
--- a/drivers/input/tablet/aiptek.c
+++ b/drivers/input/tablet/aiptek.c
@@ -470,18 +470,20 @@ static void aiptek_irq(struct urb *urb)
470 * that a non-zero value indicates that one or more 470 * that a non-zero value indicates that one or more
471 * mouse button was pressed.) 471 * mouse button was pressed.)
472 */ 472 */
473 jitterable = data[5] & 0x07; 473 jitterable = data[1] & 0x07;
474 474
475 left = (data[5] & aiptek->curSetting.mouseButtonLeft) != 0 ? 1 : 0; 475 left = (data[1] & aiptek->curSetting.mouseButtonLeft >> 2) != 0 ? 1 : 0;
476 right = (data[5] & aiptek->curSetting.mouseButtonRight) != 0 ? 1 : 0; 476 right = (data[1] & aiptek->curSetting.mouseButtonRight >> 2) != 0 ? 1 : 0;
477 middle = (data[5] & aiptek->curSetting.mouseButtonMiddle) != 0 ? 1 : 0; 477 middle = (data[1] & aiptek->curSetting.mouseButtonMiddle >> 2) != 0 ? 1 : 0;
478 478
479 input_report_key(inputdev, BTN_LEFT, left); 479 input_report_key(inputdev, BTN_LEFT, left);
480 input_report_key(inputdev, BTN_MIDDLE, middle); 480 input_report_key(inputdev, BTN_MIDDLE, middle);
481 input_report_key(inputdev, BTN_RIGHT, right); 481 input_report_key(inputdev, BTN_RIGHT, right);
482
483 input_report_abs(inputdev, ABS_MISC,
484 1 | AIPTEK_REPORT_TOOL_UNKNOWN);
482 input_report_rel(inputdev, REL_X, x); 485 input_report_rel(inputdev, REL_X, x);
483 input_report_rel(inputdev, REL_Y, y); 486 input_report_rel(inputdev, REL_Y, y);
484 input_report_rel(inputdev, REL_MISC, 1 | AIPTEK_REPORT_TOOL_UNKNOWN);
485 487
486 /* Wheel support is in the form of a single-event 488 /* Wheel support is in the form of a single-event
487 * firing. 489 * firing.