[PATCH 2/5] input: wacom - remove pressure for touch devices

Subsystems: input (keyboard, mouse, joystick, touchscreen) drivers, the rest

STALE5484d

2 messages, 2 authors, 2011-08-15 · open the first message on its own page

[PATCH 2/5] input: wacom - remove pressure for touch devices

From: Ping Cheng <hidden>
Date: 2011-08-13 00:06:52

Touch devices do not report valid pressure or capacitance.

Signed-off-by: Ping Cheng <redacted>
---
 drivers/input/tablet/wacom_sys.c |   14 --------------
 drivers/input/tablet/wacom_wac.c |    6 +++---
 2 files changed, 3 insertions(+), 17 deletions(-)
diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
index 449c0a4..36001eb 100644
--- a/drivers/input/tablet/wacom_sys.c
+++ b/drivers/input/tablet/wacom_sys.c
@@ -228,13 +228,6 @@ static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hi
 							get_unaligned_le16(&report[i + 3]);
 						i += 4;
 					}
-				} else if (usage == WCM_DIGITIZER) {
-					/* max pressure isn't reported
-					features->pressure_max = (unsigned short)
-							(report[i+4] << 8  | report[i + 3]);
-					*/
-					features->pressure_max = 255;
-					i += 4;
 				}
 				break;
 
@@ -290,13 +283,6 @@ static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hi
 				pen = 1;
 				i++;
 				break;
-
-			case HID_USAGE_UNDEFINED:
-				if (usage == WCM_DESKTOP && finger) /* capacity */
-					features->pressure_max =
-						get_unaligned_le16(&report[i + 3]);
-				i += 4;
-				break;
 			}
 			break;
 
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
index c1c2f7b..3eccf21 100644
--- a/drivers/input/tablet/wacom_wac.c
+++ b/drivers/input/tablet/wacom_wac.c
@@ -818,7 +818,6 @@ static int wacom_bpt_touch(struct wacom_wac *wacom)
 				x <<= 5;
 				y <<= 5;
 			}
-			input_report_abs(input, ABS_MT_PRESSURE, p);
 			input_report_abs(input, ABS_MT_POSITION_X, x);
 			input_report_abs(input, ABS_MT_POSITION_Y, y);
 		}
@@ -1056,10 +1055,11 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev,
 			     features->x_fuzz, 0);
 	input_set_abs_params(input_dev, ABS_Y, 0, features->y_max,
 			     features->y_fuzz, 0);
-	input_set_abs_params(input_dev, ABS_PRESSURE, 0, features->pressure_max,
-			     features->pressure_fuzz, 0);
 
 	if (features->device_type == BTN_TOOL_PEN) {
+		input_set_abs_params(input_dev, ABS_PRESSURE, 0, features->pressure_max,
+			     features->pressure_fuzz, 0);
+
 		/* penabled devices have fixed resolution for each model */
 		input_abs_set_res(input_dev, ABS_X, features->x_resolution);
 		input_abs_set_res(input_dev, ABS_Y, features->y_resolution);
-- 
1.7.6

Re: [PATCH 2/5] input: wacom - remove pressure for touch devices

From: Chris Bagwell <hidden>
Date: 2011-08-15 03:27:01

On Fri, Aug 12, 2011 at 7:08 PM, Ping Cheng [off-list ref] wrote:
Touch devices do not report valid pressure or capacitance.

Signed-off-by: Ping Cheng <redacted>
---
I'd prefer if we kept pressure support.  At least for Bamboo's with
product ID between 0xd0 and 0xd4.

In my testing of an 0xd1 device, pressure works fine (low pressure and
high pressure work great.  Not much middle pressure sensitivity.
Multi-touch will increase pressure reading.  All pretty common
behaviour).

I don't use the pressure in day-to-day usage but do use it to drive
testing of pressure features of some apps/drivers and so don't want to
lose it.
From looking at the touch data on Bamboo's > 0xd4 that people have
emailed me, it looks like pressure data was removed from firmware so a
version of this patch will be useful for those.  But that patch needs
to also change the way it parses the touch data to reduce from 8-bits
to 1-bit.

Chris
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help