diff options
author | Mark Vytlacil <mrv@wi.rr.com> | 2007-05-21 00:31:50 -0400 |
---|---|---|
committer | Dmitry Torokhov <dtor@insightbb.com> | 2007-07-10 00:35:16 -0400 |
commit | 0038cae0ffd72b75699010bd112655dc2615e2fd (patch) | |
tree | 32c097d6ec7b9c34fda75f60fad288a228a4ddc4 /drivers/input/tablet/aiptek.c | |
parent | ce0982edaec2c46dc9ec466e03f1fe94ee0862d8 (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>
Diffstat (limited to 'drivers/input/tablet/aiptek.c')
-rw-r--r-- | drivers/input/tablet/aiptek.c | 12 |
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. |