Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Chris Bagwell and committed by
Dmitry Torokhov
6dc46351 b7af2bb8

+1 -1
+1 -1
drivers/input/tablet/wacom_wac.c
··· 248 248 input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); 249 249 input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); 250 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 252 input_report_key(input, BTN_TOUCH, data[1] & 0x01); 253 253 input_report_key(input, BTN_STYLUS, data[1] & 0x02); 254 254 input_report_key(input, BTN_STYLUS2, data[1] & 0x04);