[6/6] HID: wacom: generic: Reset events back to zero when pen leaves
diff mbox

Message ID 20170908005215.3168-1-ping.cheng@wacom.com
State New
Headers show

Commit Message

Ping Cheng Sept. 8, 2017, 12:52 a.m. UTC
From: Jason Gerecke <killertofu@gmail.com>

As a pen leaves, we need to be sure to reset all events back to zero
so that userspace is able to get the complete pen state when it enters
proximity again.

Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Reviewed-by: Ping Cheng <ping.cheng@wacom.com>
---
 drivers/hid/wacom_wac.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Patch
diff mbox

diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index 929a1ce..2926e36 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -2218,10 +2218,10 @@  static void wacom_wac_pen_event(struct hid_device *hdev, struct hid_field *field
 		return;
 
 	/* send pen events only when the pen is in range */
-	if (!wacom_wac->hid_data.inrange_state)
-		return;
-
-	input_event(input, usage->type, usage->code, value);
+	if (wacom_wac->hid_data.inrange_state)
+		input_event(input, usage->type, usage->code, value);
+	else if (wacom_wac->shared->stylus_in_proximity && !wacom_wac->hid_data.sense_state)
+		input_event(input, usage->type, usage->code, 0);
 }
 
 static void wacom_wac_pen_pre_report(struct hid_device *hdev,