Thread (14 messages) flat view 14 messages, 6 authors, 2011-08-03
STALE5507d

[PATCH 3/4] Fix hover in Android (Gingerbread)

From: Jason Gerecke <hidden>
Date: 2011-07-07 21:05:35
Subsystem: input (keyboard, mouse, joystick, touchscreen) drivers, the rest · Maintainers: Dmitry Torokhov, Linus Torvalds

As of Gingerbread, Android does not pay attention to if the pen
is in contact with the screen, or merely in proximity. Since the
Xorg Wacom driver does not make use of MT pen events, we simply
do not emit MT data while hovering.

Signed-off-by: Jason Gerecke <redacted>
---
 Now being sent upstream to LKML at the behest of Google.

 drivers/input/touchscreen/wacom_w8001.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/input/touchscreen/wacom_w8001.c b/drivers/input/touchscreen/wacom_w8001.c
index e94a21a..40ed685 100644
--- a/drivers/input/touchscreen/wacom_w8001.c
+++ b/drivers/input/touchscreen/wacom_w8001.c
@@ -279,10 +279,12 @@ static void report_pen_events(struct w8001 *w8001, struct w8001_coord *coord)
 	input_report_key(dev, BTN_STYLUS, coord->f1);
 	input_report_key(dev, w8001->type, coord->rdy);
 
-	input_report_abs(dev, ABS_MT_POSITION_X, coord->x);
-	input_report_abs(dev, ABS_MT_POSITION_Y, coord->y);
-	input_report_abs(dev, ABS_MT_PRESSURE, coord->pen_pressure);
-	input_report_abs(dev, ABS_MT_TOOL_TYPE, MT_TOOL_PEN);
+	if (coord->pen_pressure > 0) {
+		input_report_abs(dev, ABS_MT_POSITION_X, coord->x);
+		input_report_abs(dev, ABS_MT_POSITION_Y, coord->y);
+		input_report_abs(dev, ABS_MT_PRESSURE, coord->pen_pressure);
+		input_report_abs(dev, ABS_MT_TOOL_TYPE, MT_TOOL_PEN);
+	}
 
 	input_mt_sync(dev);
 	input_sync(dev);
-- 
1.7.5.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help