The Surface Pro 3 firmware doesn't reliably send contact lift off reports nor handle invalid report values gracefully.
To reduce touchscreen input jitter: - add MT_QUIRK_NOT_SEEN_MEANS_UP to the MT_CLS_WIN_8 - drop invalid report values Patches have been tested on my personal Surface Pro 3 for a couple months without any problems, as well as being run in my Arch Linux AUR kernel package [1] without a single complaint so far. [1] https://aur.archlinux.org/packages/linux-surfacepro3-git Joey Pabalinas (4): HID: multitouch: add MT_QUIRK_NOT_SEEN_MEANS_UP to MT_CLS_WIN_8 quirks HID: multitouch: don't check HID_GROUP_MULTITOUCH_WIN_8 for serial protocol HID: multitouch: drop reports containing invalid values HID: multitouch: remove unneeded else conditional cases drivers/hid/hid-multitouch.c | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) -- 2.18.0

