diff options
author | Chris Bagwell <chris@cnpbagwell.com> | 2012-06-12 03:25:48 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-06-12 03:40:16 -0400 |
commit | 6dc463511d4a690f01a9248df3b384db717e0b1c (patch) | |
tree | 6b84002b020b71179bd423e9ff9e780ccf19caac /drivers/input/tablet | |
parent | b7af2bb84cea328c766c615aac45cdd498c50bc6 (diff) |
Input: wacom - Bamboo One 1024 pressure fix
Bamboo One's with ID of 0x6a and 0x6b were added with correct
indication of 1024 pressure levels but the Graphire packet routine
was only looking at 9 bits. Increased to 10 bits.
This bug caused these devices to roll over to zero pressure at half
way mark.
The other devices using this routine only support 256 or 512 range
and look to fix unused bits at zero.
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Reported-by: Tushant Mirchandani <tushantin@gmail.com>
Reviewed-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/tablet')
-rw-r--r-- | drivers/input/tablet/wacom_wac.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c index fd0cf4d328a3..4453864956b6 100644 --- a/drivers/input/tablet/wacom_wac.c +++ b/drivers/input/tablet/wacom_wac.c | |||
@@ -248,7 +248,7 @@ static int wacom_graphire_irq(struct wacom_wac *wacom) | |||
248 | input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); | 248 | input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); |
249 | input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); | 249 | input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); |
250 | if (wacom->tool[0] != BTN_TOOL_MOUSE) { | 250 | if (wacom->tool[0] != BTN_TOOL_MOUSE) { |
251 | input_report_abs(input, ABS_PRESSURE, data[6] | ((data[7] & 0x01) << 8)); | 251 | input_report_abs(input, ABS_PRESSURE, data[6] | ((data[7] & 0x03) << 8)); |
252 | input_report_key(input, BTN_TOUCH, data[1] & 0x01); | 252 | input_report_key(input, BTN_TOUCH, data[1] & 0x01); |
253 | input_report_key(input, BTN_STYLUS, data[1] & 0x02); | 253 | input_report_key(input, BTN_STYLUS, data[1] & 0x02); |
254 | input_report_key(input, BTN_STYLUS2, data[1] & 0x04); | 254 | input_report_key(input, BTN_STYLUS2, data[1] & 0x04); |