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 <killertofu@xxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html