mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-16 02:14:58 +00:00
HID: multitouch: disable sticky fingers for UPERFECT Y
When a finger is on the screen, the UPERFECT Y portable touchscreen monitor reports a contact in the first place. However, after this initial report, contacts are not reported at the refresh rate of the screen as required by the Windows 8 specs. This behaviour triggers the release_timer, removing the fingers even though they are still present. To avoid it, add a new class, similar to MT_CLS_WIN_8 but without the MT_QUIRK_STICKY_FINGERS quirk for this device. Suggested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: José Expósito <jose.exposito89@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
88a04049c0
commit
08b9a61a87
@ -1276,6 +1276,9 @@
|
||||
#define USB_DEVICE_ID_WEIDA_8752 0xC300
|
||||
#define USB_DEVICE_ID_WEIDA_8755 0xC301
|
||||
|
||||
#define USB_VENDOR_ID_WINBOND 0x0416
|
||||
#define USB_DEVICE_ID_TSTP_MTOUCH 0xc168
|
||||
|
||||
#define USB_VENDOR_ID_WISEGROUP 0x0925
|
||||
#define USB_DEVICE_ID_SMARTJOY_PLUS 0x0005
|
||||
#define USB_DEVICE_ID_SUPER_JOY_BOX_3 0x8888
|
||||
|
@ -193,6 +193,7 @@ static void mt_post_parse(struct mt_device *td, struct mt_application *app);
|
||||
/* reserved 0x0014 */
|
||||
#define MT_CLS_WIN_8_FORCE_MULTI_INPUT 0x0015
|
||||
#define MT_CLS_WIN_8_DISABLE_WAKEUP 0x0016
|
||||
#define MT_CLS_WIN_8_NO_STICKY_FINGERS 0x0017
|
||||
|
||||
/* vendor specific classes */
|
||||
#define MT_CLS_3M 0x0101
|
||||
@ -294,6 +295,13 @@ static const struct mt_class mt_classes[] = {
|
||||
MT_QUIRK_WIN8_PTP_BUTTONS |
|
||||
MT_QUIRK_DISABLE_WAKEUP,
|
||||
.export_all_inputs = true },
|
||||
{ .name = MT_CLS_WIN_8_NO_STICKY_FINGERS,
|
||||
.quirks = MT_QUIRK_ALWAYS_VALID |
|
||||
MT_QUIRK_IGNORE_DUPLICATES |
|
||||
MT_QUIRK_HOVERING |
|
||||
MT_QUIRK_CONTACT_CNT_ACCURATE |
|
||||
MT_QUIRK_WIN8_PTP_BUTTONS,
|
||||
.export_all_inputs = true },
|
||||
|
||||
/*
|
||||
* vendor specific classes
|
||||
@ -2120,6 +2128,11 @@ static const struct hid_device_id mt_devices[] = {
|
||||
MT_USB_DEVICE(USB_VENDOR_ID_VTL,
|
||||
USB_DEVICE_ID_VTL_MULTITOUCH_FF3F) },
|
||||
|
||||
/* Winbond Electronics Corp. */
|
||||
{ .driver_data = MT_CLS_WIN_8_NO_STICKY_FINGERS,
|
||||
HID_DEVICE(HID_BUS_ANY, HID_GROUP_MULTITOUCH_WIN_8,
|
||||
USB_VENDOR_ID_WINBOND, USB_DEVICE_ID_TSTP_MTOUCH) },
|
||||
|
||||
/* Wistron panels */
|
||||
{ .driver_data = MT_CLS_NSMU,
|
||||
MT_USB_DEVICE(USB_VENDOR_ID_WISTRON,
|
||||
|
Loading…
x
Reference in New Issue
Block a user