HID: multitouch: enable palm rejection if device implements confidence usage
authorAllen Hung <allen_hung@dell.com>
Fri, 20 Nov 2015 10:21:06 +0000 (18:21 +0800)
committerJiri Kosina <jkosina@suse.cz>
Thu, 26 Nov 2015 14:20:57 +0000 (15:20 +0100)
The usage Confidence is mandary to Windows Precision Touchpad devices. The
appearance of this usage is checked in hidinput_connect but the quirk
MT_QUIRK_VALID_IS_CONFIDENCE is not applied to device accordingly.
Apply this quirk and also remove quirk MT_QUIRK_ALWAYS_VALID to enable palm
rejection for the WIN 8 touchpad devices which have implemented usage
Confidence in its input reports.

Tested on Dell XPS 13 laptop.

Signed-off-by: Allen Hung <allen_hung@dell.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-multitouch.c

index 3d664d01305e5ef32301fdcf53a4f3bbee61f027..351ddd297792c24e15d009eae6995cd5de518c7b 100644 (file)
@@ -486,6 +486,11 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
                        mt_store_field(usage, td, hi);
                        return 1;
                case HID_DG_CONFIDENCE:
+                       if (cls->name == MT_CLS_WIN_8 &&
+                               field->application == HID_DG_TOUCHPAD) {
+                               cls->quirks &= ~MT_QUIRK_ALWAYS_VALID;
+                               cls->quirks |= MT_QUIRK_VALID_IS_CONFIDENCE;
+                       }
                        mt_store_field(usage, td, hi);
                        return 1;
                case HID_DG_TIPSWITCH: