mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 01:10:04 +00:00
HID: wacom: do not send pen events before touch is up/forced out
If pen comes in proximity while touch is down, we force touch up before sending pen events. Otherwise, there can be unfinished touch events compete with pen events. This idea has been fully implemented for Tablet PCs. But other tablets that support both pen and touch are not fully considered. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
ef567cf9dd
commit
486b908d44
1 changed files with 6 additions and 0 deletions
|
@ -554,6 +554,9 @@ static int wacom_intuos_inout(struct wacom_wac *wacom)
|
||||||
if (features->quirks & WACOM_QUIRK_MULTI_INPUT)
|
if (features->quirks & WACOM_QUIRK_MULTI_INPUT)
|
||||||
wacom->shared->stylus_in_proximity = true;
|
wacom->shared->stylus_in_proximity = true;
|
||||||
|
|
||||||
|
if (wacom->shared->touch_down)
|
||||||
|
return 1;
|
||||||
|
|
||||||
/* in Range while exiting */
|
/* in Range while exiting */
|
||||||
if (((data[1] & 0xfe) == 0x20) && wacom->reporting_data) {
|
if (((data[1] & 0xfe) == 0x20) && wacom->reporting_data) {
|
||||||
input_report_key(input, BTN_TOUCH, 0);
|
input_report_key(input, BTN_TOUCH, 0);
|
||||||
|
@ -1759,6 +1762,9 @@ static int wacom_bpt_pen(struct wacom_wac *wacom)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (wacom->shared->touch_down)
|
||||||
|
return 0;
|
||||||
|
|
||||||
prox = (data[1] & 0x20) == 0x20;
|
prox = (data[1] & 0x20) == 0x20;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue