浏览代码

HID: wacom: generic: Reset events back to zero when pen leaves

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>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Jason Gerecke 8 年之前
父节点
当前提交
5b40104edf
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      drivers/hid/wacom_wac.c

+ 4 - 4
drivers/hid/wacom_wac.c

@@ -2218,10 +2218,10 @@ static void wacom_wac_pen_event(struct hid_device *hdev, struct hid_field *field
 		return;
 		return;
 
 
 	/* send pen events only when the pen is in range */
 	/* 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,
 static void wacom_wac_pen_pre_report(struct hid_device *hdev,