[PATCH] HID: multitouch: add IGNORE_DUPLICATES quirk for ELAN1206 (04f3:30f1)

Matt Roberts posted 1 patch 2 months, 1 week ago
drivers/hid/hid-multitouch.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] HID: multitouch: add IGNORE_DUPLICATES quirk for ELAN1206 (04f3:30f1)
Posted by Matt Roberts 2 months, 1 week ago
From: Matthew Roberts <robertsmattb@gmail.com>
Date: Sun, 5 Oct 2025 11:34:17 -0700
Subject: [PATCH] HID: multitouch: add IGNORE_DUPLICATES quirk for ELAN1206
 (04f3:30f1)

Some ELAN1206 I2C touchpads intermittently report duplicate tracking IDs.
On recent kernels this can make libinput interpret a one-finger slide as
repeated hold/click events instead of continuous POINTER_MOTION.

Add MT_QUIRK_IGNORE_DUPLICATES for 04f3:30f1 so the driver filters
repeated contacts and reports motion correctly. This restores behavior
comparable to 6.1 LTS kernels where motion and clicks were normal.

Reproducer notes: with hid_multitouch enabled, sliding a single finger
produces repeated GESTURE_HOLD_BEGIN/END in libinput and logs the
"double tracking ID ... in slot 0" error. Attached are short traces:
- elan1206-bug.yaml (libinput record)
- elan1206-bug.evemu (evdev stream)
- elan1206-bug.hidraw0 (HID raw capture)
- elan1206-bug.libinput (debug stream)
System: Fedora 42 (kernel 6.16.9-200.fc42.x86_64,
libinput 1.29.1,
device ELAN1206:00 04F3:30F1)

Signed-off-by: Matthew Roberts <robertsmattb@gmail.com>
---
 drivers/hid/hid-multitouch.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 2879e65cf..ed318c80e 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -2150,6 +2150,10 @@ static const struct hid_device_id mt_devices[] = {
                HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
                        USB_VENDOR_ID_ELAN, 0x32ae) },

+        /* ELAN1206 touchpad: duplicate tracking IDs cause hold/click storms */
+        { .driver_data = MT_QUIRK_IGNORE_DUPLICATES,
+          HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH, 0x04f3, 0x30f1) },
+
        /* Elitegroup panel */
        { .driver_data = MT_CLS_SERIAL,
                MT_USB_DEVICE(USB_VENDOR_ID_ELITEGROUP,
-- 
2.51.0
# EVEMU 1.3
# Kernel: 6.16.9-200.fc42.x86_64
# DMI: dmi:bvnAmericanMegatrendsInternational,LLC.:bvrUX564EH.313:bd04/21/2022:br5.19:svnASUSTeKCOMPUTERINC.:pnZenBookUX564EH_Q528EH:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnUX564EH:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct31:cvr1.0:sku:
# Input device name: "ELAN1206:00 04F3:30F1 Touchpad"
# Input device ID: bus 0x18 vendor 0x4f3 product 0x30f1 version 0x100
# Size in mm: 124x63
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#     Event code 15 (SYN_MAX)
#   Event type 1 (EV_KEY)
#     Event code 272 (BTN_LEFT)
#     Event code 325 (BTN_TOOL_FINGER)
#     Event code 328 (BTN_TOOL_QUINTTAP)
#     Event code 330 (BTN_TOUCH)
#     Event code 333 (BTN_TOOL_DOUBLETAP)
#     Event code 334 (BTN_TOOL_TRIPLETAP)
#     Event code 335 (BTN_TOOL_QUADTAP)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value     3301
#       Min          0
#       Max       3987
#       Fuzz         0
#       Flat         0
#       Resolution  32
#     Event code 1 (ABS_Y)
#       Value     1013
#       Min          0
#       Max       1960
#       Fuzz         0
#       Flat         0
#       Resolution  31
#     Event code 47 (ABS_MT_SLOT)
#       Value        0
#       Min          0
#       Max          4
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 53 (ABS_MT_POSITION_X)
#       Value        0
#       Min          0
#       Max       3987
#       Fuzz         0
#       Flat         0
#       Resolution  32
#     Event code 54 (ABS_MT_POSITION_Y)
#       Value        0
#       Min          0
#       Max       1960
#       Fuzz         0
#       Flat         0
#       Resolution  31
#     Event code 55 (ABS_MT_TOOL_TYPE)
#       Value        0
#       Min          0
#       Max          2
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 57 (ABS_MT_TRACKING_ID)
#       Value        0
#       Min          0
#       Max      65535
#       Fuzz         0
#       Flat         0
#       Resolution   0
#   Event type 4 (EV_MSC)
#     Event code 5 (MSC_TIMESTAMP)
# Properties:
#   Property  type 0 (INPUT_PROP_POINTER)
#   Property  type 2 (INPUT_PROP_BUTTONPAD)
N: ELAN1206:00 04F3:30F1 Touchpad
I: 0018 04f3 30f1 0100
P: 05 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 01 00 00 00 00 00
B: 01 20 e5 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 03 00 00 00 00 80 e0 02
B: 04 20 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 0 3987 0 0 32
A: 01 0 1960 0 0 31
A: 2f 0 4 0 0 0
A: 35 0 3987 0 0 32
A: 36 0 1960 0 0 31
A: 37 0 2 0 0 0
A: 39 0 65535 0 0 0
################################
#      Waiting for events      #
################################
E: 0.000001 0003 0039 0048	# EV_ABS / ABS_MT_TRACKING_ID   48
E: 0.000001 0003 0037 0000	# EV_ABS / ABS_MT_TOOL_TYPE     0
E: 0.000001 0003 0035 0282	# EV_ABS / ABS_MT_POSITION_X    282
E: 0.000001 0003 0036 1691	# EV_ABS / ABS_MT_POSITION_Y    1691
E: 0.000001 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 0.000001 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 0.000001 0003 0000 0282	# EV_ABS / ABS_X                282
E: 0.000001 0003 0001 1691	# EV_ABS / ABS_Y                1691
E: 0.000001 0004 0005 0000	# EV_MSC / MSC_TIMESTAMP        0
E: 0.000001 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +0ms
E: 0.103853 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 0.103853 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 0.103853 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 0.103853 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +103ms
E: 0.207904 0003 0039 0049	# EV_ABS / ABS_MT_TRACKING_ID   49
E: 0.207904 0003 0035 1102	# EV_ABS / ABS_MT_POSITION_X    1102
E: 0.207904 0003 0036 0509	# EV_ABS / ABS_MT_POSITION_Y    509
E: 0.207904 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 0.207904 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 0.207904 0003 0000 1102	# EV_ABS / ABS_X                1102
E: 0.207904 0003 0001 0509	# EV_ABS / ABS_Y                509
E: 0.207904 0004 0005 288000	# EV_MSC / MSC_TIMESTAMP        288000
E: 0.207904 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 0.311823 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 0.311823 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 0.311823 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 0.311823 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 0.415939 0003 0039 0050	# EV_ABS / ABS_MT_TRACKING_ID   50
E: 0.415939 0003 0035 1089	# EV_ABS / ABS_MT_POSITION_X    1089
E: 0.415939 0003 0036 1736	# EV_ABS / ABS_MT_POSITION_Y    1736
E: 0.415939 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 0.415939 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 0.415939 0003 0000 1089	# EV_ABS / ABS_X                1089
E: 0.415939 0003 0001 1736	# EV_ABS / ABS_Y                1736
E: 0.415939 0004 0005 499000	# EV_MSC / MSC_TIMESTAMP        499000
E: 0.415939 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 0.519933 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 0.519933 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 0.519933 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 0.519933 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 0.624009 0003 0039 0051	# EV_ABS / ABS_MT_TRACKING_ID   51
E: 0.624009 0003 0035 1715	# EV_ABS / ABS_MT_POSITION_X    1715
E: 0.624009 0003 0036 0405	# EV_ABS / ABS_MT_POSITION_Y    405
E: 0.624009 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 0.624009 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 0.624009 0003 0000 1715	# EV_ABS / ABS_X                1715
E: 0.624009 0003 0001 0405	# EV_ABS / ABS_Y                405
E: 0.624009 0004 0005 708000	# EV_MSC / MSC_TIMESTAMP        708000
E: 0.624009 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +105ms
E: 0.727827 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 0.727827 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 0.727827 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 0.727827 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +103ms
E: 0.831992 0003 0039 0052	# EV_ABS / ABS_MT_TRACKING_ID   52
E: 0.831992 0003 0035 1641	# EV_ABS / ABS_MT_POSITION_X    1641
E: 0.831992 0003 0036 1235	# EV_ABS / ABS_MT_POSITION_Y    1235
E: 0.831992 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 0.831992 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 0.831992 0003 0000 1641	# EV_ABS / ABS_X                1641
E: 0.831992 0003 0001 1235	# EV_ABS / ABS_Y                1235
E: 0.831992 0004 0005 917000	# EV_MSC / MSC_TIMESTAMP        917000
E: 0.831992 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 0.935841 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 0.935841 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 0.935841 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 0.935841 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 1.039851 0003 0039 0053	# EV_ABS / ABS_MT_TRACKING_ID   53
E: 1.039851 0003 0035 2276	# EV_ABS / ABS_MT_POSITION_X    2276
E: 1.039851 0003 0036 0992	# EV_ABS / ABS_MT_POSITION_Y    992
E: 1.039851 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 1.039851 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 1.039851 0003 0000 2276	# EV_ABS / ABS_X                2276
E: 1.039851 0003 0001 0992	# EV_ABS / ABS_Y                992
E: 1.039851 0004 0005 1127000	# EV_MSC / MSC_TIMESTAMP        1127000
E: 1.039851 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 1.143819 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 1.143819 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 1.143819 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 1.143819 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 1.248022 0003 0039 0054	# EV_ABS / ABS_MT_TRACKING_ID   54
E: 1.248022 0003 0035 2879	# EV_ABS / ABS_MT_POSITION_X    2879
E: 1.248022 0003 0036 0561	# EV_ABS / ABS_MT_POSITION_Y    561
E: 1.248022 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 1.248022 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 1.248022 0003 0000 2879	# EV_ABS / ABS_X                2879
E: 1.248022 0003 0001 0561	# EV_ABS / ABS_Y                561
E: 1.248022 0004 0005 1336000	# EV_MSC / MSC_TIMESTAMP        1336000
E: 1.248022 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +105ms
E: 1.351708 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 1.351708 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 1.351708 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 1.351708 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +103ms
E: 1.455939 0003 0039 0055	# EV_ABS / ABS_MT_TRACKING_ID   55
E: 1.455939 0003 0035 2644	# EV_ABS / ABS_MT_POSITION_X    2644
E: 1.455939 0003 0036 1683	# EV_ABS / ABS_MT_POSITION_Y    1683
E: 1.455939 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 1.455939 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 1.455939 0003 0000 2644	# EV_ABS / ABS_X                2644
E: 1.455939 0003 0001 1683	# EV_ABS / ABS_Y                1683
E: 1.455939 0004 0005 1546000	# EV_MSC / MSC_TIMESTAMP        1546000
E: 1.455939 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 1.559843 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 1.559843 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 1.559843 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 1.559843 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 1.663994 0003 0039 0056	# EV_ABS / ABS_MT_TRACKING_ID   56
E: 1.663994 0003 0035 3109	# EV_ABS / ABS_MT_POSITION_X    3109
E: 1.663994 0003 0036 0613	# EV_ABS / ABS_MT_POSITION_Y    613
E: 1.663994 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 1.663994 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 1.663994 0003 0000 3109	# EV_ABS / ABS_X                3109
E: 1.663994 0003 0001 0613	# EV_ABS / ABS_Y                613
E: 1.663994 0004 0005 1757000	# EV_MSC / MSC_TIMESTAMP        1757000
E: 1.663994 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 1.767875 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 1.767875 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 1.767875 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 1.767875 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 1.872006 0003 0039 0057	# EV_ABS / ABS_MT_TRACKING_ID   57
E: 1.872006 0003 0035 1091	# EV_ABS / ABS_MT_POSITION_X    1091
E: 1.872006 0003 0036 1523	# EV_ABS / ABS_MT_POSITION_Y    1523
E: 1.872006 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 1.872006 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 1.872006 0003 0000 1091	# EV_ABS / ABS_X                1091
E: 1.872006 0003 0001 1523	# EV_ABS / ABS_Y                1523
E: 1.872006 0004 0005 1966000	# EV_MSC / MSC_TIMESTAMP        1966000
E: 1.872006 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +105ms
E: 1.976005 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 1.976005 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 1.976005 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 1.976005 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 2.079965 0003 0039 0058	# EV_ABS / ABS_MT_TRACKING_ID   58
E: 2.079965 0003 0035 0920	# EV_ABS / ABS_MT_POSITION_X    920
E: 2.079965 0003 0036 0503	# EV_ABS / ABS_MT_POSITION_Y    503
E: 2.079965 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 2.079965 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 2.079965 0003 0000 0920	# EV_ABS / ABS_X                920
E: 2.079965 0003 0001 0503	# EV_ABS / ABS_Y                503
E: 2.079965 0004 0005 2174900	# EV_MSC / MSC_TIMESTAMP        2174900
E: 2.079965 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +103ms
E: 2.183710 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 2.183710 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 2.183710 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 2.183710 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 2.287917 0003 0039 0059	# EV_ABS / ABS_MT_TRACKING_ID   59
E: 2.287917 0003 0035 1480	# EV_ABS / ABS_MT_POSITION_X    1480
E: 2.287917 0003 0036 1337	# EV_ABS / ABS_MT_POSITION_Y    1337
E: 2.287917 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 2.287917 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 2.287917 0003 0000 1480	# EV_ABS / ABS_X                1480
E: 2.287917 0003 0001 1337	# EV_ABS / ABS_Y                1337
E: 2.287917 0004 0005 2384900	# EV_MSC / MSC_TIMESTAMP        2384900
E: 2.287917 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 2.391719 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 2.391719 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 2.391719 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 2.391719 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 2.495982 0003 0039 0060	# EV_ABS / ABS_MT_TRACKING_ID   60
E: 2.495982 0003 0035 2505	# EV_ABS / ABS_MT_POSITION_X    2505
E: 2.495982 0003 0036 0896	# EV_ABS / ABS_MT_POSITION_Y    896
E: 2.495982 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 2.495982 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 2.495982 0003 0000 2505	# EV_ABS / ABS_X                2505
E: 2.495982 0003 0001 0896	# EV_ABS / ABS_Y                896
E: 2.495982 0004 0005 2593900	# EV_MSC / MSC_TIMESTAMP        2593900
E: 2.495982 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 2.600711 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 2.600711 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 2.600711 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 2.600711 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +105ms
E: 2.704019 0003 0039 0061	# EV_ABS / ABS_MT_TRACKING_ID   61
E: 2.704019 0003 0035 3508	# EV_ABS / ABS_MT_POSITION_X    3508
E: 2.704019 0003 0036 0713	# EV_ABS / ABS_MT_POSITION_Y    713
E: 2.704019 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 2.704019 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 2.704019 0003 0000 3508	# EV_ABS / ABS_X                3508
E: 2.704019 0003 0001 0713	# EV_ABS / ABS_Y                713
E: 2.704019 0004 0005 2803900	# EV_MSC / MSC_TIMESTAMP        2803900
E: 2.704019 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 2.807901 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 2.807901 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 2.807901 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 2.807901 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +103ms
E: 2.911827 0003 0039 0062	# EV_ABS / ABS_MT_TRACKING_ID   62
E: 2.911827 0003 0035 2139	# EV_ABS / ABS_MT_POSITION_X    2139
E: 2.911827 0003 0036 1328	# EV_ABS / ABS_MT_POSITION_Y    1328
E: 2.911827 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 2.911827 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 2.911827 0003 0000 2139	# EV_ABS / ABS_X                2139
E: 2.911827 0003 0001 1328	# EV_ABS / ABS_Y                1328
E: 2.911827 0004 0005 3013900	# EV_MSC / MSC_TIMESTAMP        3013900
E: 2.911827 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 3.015842 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 3.015842 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 3.015842 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 3.015842 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 3.119907 0003 0039 0063	# EV_ABS / ABS_MT_TRACKING_ID   63
E: 3.119907 0003 0035 0868	# EV_ABS / ABS_MT_POSITION_X    868
E: 3.119907 0003 0036 1101	# EV_ABS / ABS_MT_POSITION_Y    1101
E: 3.119907 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 3.119907 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 3.119907 0003 0000 0868	# EV_ABS / ABS_X                868
E: 3.119907 0003 0001 1101	# EV_ABS / ABS_Y                1101
E: 3.119907 0004 0005 3223900	# EV_MSC / MSC_TIMESTAMP        3223900
E: 3.119907 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 3.223828 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 3.223828 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 3.223828 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 3.223828 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 3.327959 0003 0039 0064	# EV_ABS / ABS_MT_TRACKING_ID   64
E: 3.327959 0003 0035 1783	# EV_ABS / ABS_MT_POSITION_X    1783
E: 3.327959 0003 0036 1035	# EV_ABS / ABS_MT_POSITION_Y    1035
E: 3.327959 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 3.327959 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 3.327959 0003 0000 1783	# EV_ABS / ABS_X                1783
E: 3.327959 0003 0001 1035	# EV_ABS / ABS_Y                1035
E: 3.327959 0004 0005 3433900	# EV_MSC / MSC_TIMESTAMP        3433900
E: 3.327959 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 3.432038 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 3.432038 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 3.432038 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 3.432038 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +105ms
E: 3.535977 0003 0039 0065	# EV_ABS / ABS_MT_TRACKING_ID   65
E: 3.535977 0003 0035 2871	# EV_ABS / ABS_MT_POSITION_X    2871
E: 3.535977 0003 0036 0492	# EV_ABS / ABS_MT_POSITION_Y    492
E: 3.535977 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 3.535977 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 3.535977 0003 0000 2871	# EV_ABS / ABS_X                2871
E: 3.535977 0003 0001 0492	# EV_ABS / ABS_Y                492
E: 3.535977 0004 0005 3642900	# EV_MSC / MSC_TIMESTAMP        3642900
E: 3.535977 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +103ms
E: 3.639835 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 3.639835 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 3.639835 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 3.639835 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 3.744122 0003 0039 0066	# EV_ABS / ABS_MT_TRACKING_ID   66
E: 3.744122 0003 0035 2379	# EV_ABS / ABS_MT_POSITION_X    2379
E: 3.744122 0003 0036 1455	# EV_ABS / ABS_MT_POSITION_Y    1455
E: 3.744122 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 3.744122 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 3.744122 0003 0000 2379	# EV_ABS / ABS_X                2379
E: 3.744122 0003 0001 1455	# EV_ABS / ABS_Y                1455
E: 3.744122 0004 0005 3852900	# EV_MSC / MSC_TIMESTAMP        3852900
E: 3.744122 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +105ms
E: 3.848030 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 3.848030 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 3.848030 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 3.848030 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 3.951958 0003 0039 0067	# EV_ABS / ABS_MT_TRACKING_ID   67
E: 3.951958 0003 0035 3032	# EV_ABS / ABS_MT_POSITION_X    3032
E: 3.951958 0003 0036 0210	# EV_ABS / ABS_MT_POSITION_Y    210
E: 3.951958 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 3.951958 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 3.951958 0003 0000 3032	# EV_ABS / ABS_X                3032
E: 3.951958 0003 0001 0210	# EV_ABS / ABS_Y                210
E: 3.951958 0004 0005 4062900	# EV_MSC / MSC_TIMESTAMP        4062900
E: 3.951958 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +103ms
E: 4.055836 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 4.055836 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 4.055836 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 4.055836 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 4.160008 0003 0039 0068	# EV_ABS / ABS_MT_TRACKING_ID   68
E: 4.160008 0003 0035 0790	# EV_ABS / ABS_MT_POSITION_X    790
E: 4.160008 0003 0036 1200	# EV_ABS / ABS_MT_POSITION_Y    1200
E: 4.160008 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 4.160008 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 4.160008 0003 0000 0790	# EV_ABS / ABS_X                790
E: 4.160008 0003 0001 1200	# EV_ABS / ABS_Y                1200
E: 4.160008 0004 0005 4271900	# EV_MSC / MSC_TIMESTAMP        4271900
E: 4.160008 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +105ms
E: 4.264019 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 4.264019 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 4.264019 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 4.264019 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 4.367902 0003 0039 0069	# EV_ABS / ABS_MT_TRACKING_ID   69
E: 4.367902 0003 0035 1563	# EV_ABS / ABS_MT_POSITION_X    1563
E: 4.367902 0003 0036 0196	# EV_ABS / ABS_MT_POSITION_Y    196
E: 4.367902 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 4.367902 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 4.367902 0003 0000 1563	# EV_ABS / ABS_X                1563
E: 4.367902 0003 0001 0196	# EV_ABS / ABS_Y                196
E: 4.367902 0004 0005 4481900	# EV_MSC / MSC_TIMESTAMP        4481900
E: 4.367902 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +103ms
E: 4.471992 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 4.471992 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 4.471992 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 4.471992 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 4.575998 0003 0039 0070	# EV_ABS / ABS_MT_TRACKING_ID   70
E: 4.575998 0003 0035 1927	# EV_ABS / ABS_MT_POSITION_X    1927
E: 4.575998 0003 0036 1520	# EV_ABS / ABS_MT_POSITION_Y    1520
E: 4.575998 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 4.575998 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 4.575998 0003 0000 1927	# EV_ABS / ABS_X                1927
E: 4.575998 0003 0001 1520	# EV_ABS / ABS_Y                1520
E: 4.575998 0004 0005 4691900	# EV_MSC / MSC_TIMESTAMP        4691900
E: 4.575998 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 4.679835 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 4.679835 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 4.679835 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 4.679835 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 4.783941 0003 0039 0071	# EV_ABS / ABS_MT_TRACKING_ID   71
E: 4.783941 0003 0035 2590	# EV_ABS / ABS_MT_POSITION_X    2590
E: 4.783941 0003 0036 0273	# EV_ABS / ABS_MT_POSITION_Y    273
E: 4.783941 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 4.783941 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 4.783941 0003 0000 2590	# EV_ABS / ABS_X                2590
E: 4.783941 0003 0001 0273	# EV_ABS / ABS_Y                273
E: 4.783941 0004 0005 4900900	# EV_MSC / MSC_TIMESTAMP        4900900
E: 4.783941 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 4.887840 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 4.887840 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 4.887840 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 4.887840 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 4.991998 0003 0039 0072	# EV_ABS / ABS_MT_TRACKING_ID   72
E: 4.991998 0003 0035 2746	# EV_ABS / ABS_MT_POSITION_X    2746
E: 4.991998 0003 0036 1252	# EV_ABS / ABS_MT_POSITION_Y    1252
E: 4.991998 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 4.991998 0001 0145 0001	# EV_KEY / BTN_TOOL_FINGER      1
E: 4.991998 0003 0000 2746	# EV_ABS / ABS_X                2746
E: 4.991998 0003 0001 1252	# EV_ABS / ABS_Y                1252
E: 4.991998 0004 0005 5110900	# EV_MSC / MSC_TIMESTAMP        5110900
E: 4.991998 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 5.095834 0003 0039 -001	# EV_ABS / ABS_MT_TRACKING_ID   -1
E: 5.095834 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 5.095834 0001 0145 0000	# EV_KEY / BTN_TOOL_FINGER      0
E: 5.095834 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
E: 5.199967 0004 0005 5324900	# EV_MSC / MSC_TIMESTAMP        5324900
E: 5.199967 0000 0000 0000	# ------------ SYN_REPORT (0) ---------- +104ms
D: 0
R: 374 05 01 09 02 a1 01 85 01 09 01 a1 00 05 09 19 01 29 02 15 00 25 01 75 01 95 02 81 02 95 06 81 03 05 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 05 0c 0a 38 02 95 01 81 06 75 08 95 03 81 03 c0 06 00 ff 09 01 85 0e 09 c5 15 00 26 ff 00 75 08 95 04 b1 02 c0 05 0d 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47 09 42 95 02 75 01 81 02 75 01 95 02 81 03 95 01 75 04 25 0f 09 51 81 02 05 01 15 00 26 93 0f 75 10 55 0e 65 13 09 30 35 00 46 f2 01 95 01 81 02 46 f5 00 26 a8 07 26 a8 07 09 31 81 02 05 0d 15 00 25 64 95 03 c0 55 0c 66 01 10 47 ff ff 00 00 27 ff ff 00 00 75 10 95 01 09 56 81 02 09 54 25 7f 95 01 75 08 81 02 05 09 09 01 25 01 75 01 95 01 81 02 95 07 81 03 09 c5 75 08 95 04 81 03 05 0d 85 02 09 55 09 59 75 04 95 02 25 0f b1 02 85 07 09 60 75 01 95 01 15 00 25 01 b1 02 95 0f b1 03 06 00 ff 06 00 ff 85 06 09 c5 15 00 26 ff 00 75 08 96 00 01 b1 02 85 0d 09 c4 15 00 26 ff 00 75 08 95 04 b1 02 85 0c 09 c6 96 40 03 75 08 b1 02 85 0b 09 c7 95 42 75 08 b1 02 c0 05 0d 09 0e a1 01 85 03 09 22 a1 00 09 52 15 00 25 0a 75 10 95 01 b1 02 c0 09 22 a1 00 85 05 09 57 09 58 75 01 95 02 25 03 b1 02 95 0e b1 03 c0 c0
N: ELAN1206:00 04F3:30F1
P: i2c-ELAN1206:00
I: 18 04f3 30f1
D: 0
E: 0.000000 14 04 03 ae 00 51 06 20 b4 01 80 1a 33 00 00
E: 0.207907 14 04 03 36 02 30 02 20 be 01 80 26 54 00 00
E: 0.415997 14 04 03 5a 02 0e 04 54 c6 01 80 21 44 00 00
E: 0.623879 14 04 03 d2 02 55 06 7e ce 01 80 23 44 00 00
E: 0.831981 14 04 03 ec 03 b4 02 b2 d6 01 80 25 44 00 00
E: 1.039956 14 04 03 67 04 92 03 dc de 01 80 24 44 00 00
E: 1.248030 14 04 03 84 04 da 05 10 e7 01 80 24 44 00 00
E: 1.455983 14 04 03 ad 05 46 03 44 ef 01 80 25 44 00 00
E: 1.664005 14 04 03 0e 07 df 01 6e f7 01 80 24 44 00 00
E: 1.872028 14 04 03 fb 05 c5 05 a2 ff 01 80 21 44 00 00
E: 2.080123 14 04 03 11 07 c1 03 cc 07 01 80 20 44 00 00
E: 2.288009 14 04 03 27 08 07 01 00 10 01 80 23 44 00 00
E: 2.495840 14 04 03 57 07 44 05 34 18 01 80 23 45 00 00
E: 2.704006 14 04 03 ce 08 f9 03 5e 20 01 80 20 44 00 00
E: 2.911981 14 04 03 4c 0a 74 00 92 28 01 80 1e 34 00 00
E: 3.120022 14 04 03 d9 09 35 05 bc 30 01 80 20 34 00 00
E: 3.327936 14 04 03 ed 0a 99 03 fa 38 01 80 1e 43 00 00
E: 3.536070 14 04 01 b4 0a 28 01 24 41 01 80 21 34 00 00
E: 3.743720 14 04 03 2a 0c 98 01 b6 45 01 80 21 44 00 00
E: 3.952006 14 04 03 55 0d df 03 82 51 01 80 21 44 00 00
E: 4.160065 14 04 03 ad 0b 4f 03 ac 59 01 80 21 44 00 00
E: 4.367930 14 04 03 7c 06 50 05 e0 61 01 80 23 44 00 00
E: 4.575959 14 04 03 f2 07 b0 02 14 6a 01 80 23 44 00 00
E: 4.783997 14 04 03 3e 0d 2e 02 3e 72 01 80 17 11 00 00
E: 4.992032 14 04 01 3e 0d 2e 02 72 7a 00 00 17 11 00 00
-event15  DEVICE_ADDED                 ELAN1206:00 04F3:30F1 Touchpad    seat0 default group1  cap:pg  size 125x63mm tap (dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on dwtp-on
 event15  GESTURE_HOLD_BEGIN           +0.248s	1
 event15  GESTURE_HOLD_END             +0.312s	1
 event15  GESTURE_HOLD_BEGIN           +0.457s	1
 event15  GESTURE_HOLD_END             +0.520s	1
 event15  GESTURE_HOLD_BEGIN           +0.664s	1
 event15  GESTURE_HOLD_END             +0.728s	1
 event15  GESTURE_HOLD_BEGIN           +0.872s	1
 event15  GESTURE_HOLD_END             +0.936s	1
 event15  GESTURE_HOLD_BEGIN           +1.080s	1
 event15  GESTURE_HOLD_END             +1.144s	1
 event15  GESTURE_HOLD_BEGIN           +1.288s	1
 event15  GESTURE_HOLD_END             +1.352s	1
 event15  GESTURE_HOLD_BEGIN           +1.496s	1
 event15  GESTURE_HOLD_END             +1.560s	1
 event15  GESTURE_HOLD_BEGIN           +1.704s	1
 event15  GESTURE_HOLD_END             +1.768s	1
 event15  GESTURE_HOLD_BEGIN           +1.912s	1
 event15  GESTURE_HOLD_END             +1.976s	1
 event15  GESTURE_HOLD_BEGIN           +2.120s	1
 event15  GESTURE_HOLD_END             +2.184s	1
 event15  GESTURE_HOLD_BEGIN           +2.328s	1
 event15  GESTURE_HOLD_END             +2.392s	1
 event15  GESTURE_HOLD_BEGIN           +2.536s	1
 event15  GESTURE_HOLD_END             +2.600s	1
 event15  GESTURE_HOLD_BEGIN           +2.744s	1
 event15  GESTURE_HOLD_END             +2.808s	1
 event15  GESTURE_HOLD_BEGIN           +2.952s	1
 event15  GESTURE_HOLD_END             +3.016s	1
 event15  GESTURE_HOLD_BEGIN           +3.160s	1
 event15  GESTURE_HOLD_END             +3.224s	1
 event15  GESTURE_HOLD_BEGIN           +3.368s	1
 event15  GESTURE_HOLD_END             +3.432s	1
 event15  GESTURE_HOLD_BEGIN           +3.576s	1
 event15  GESTURE_HOLD_END             +3.640s	1
 event15  GESTURE_HOLD_BEGIN           +3.784s	1
 event15  GESTURE_HOLD_END             +3.848s	1
 event15  GESTURE_HOLD_BEGIN           +4.200s	1
 event15  GESTURE_HOLD_END             +4.264s	1
 event15  GESTURE_HOLD_BEGIN           +4.408s	1
 event15  GESTURE_HOLD_END             +4.472s	1
 event15  GESTURE_HOLD_BEGIN           +4.616s	1
 event15  GESTURE_HOLD_END             +4.680s	1
 event15  GESTURE_HOLD_BEGIN           +4.824s	1
 event15  GESTURE_HOLD_END             +4.888s	1
 event15  GESTURE_HOLD_BEGIN           +5.032s	1
 event15  GESTURE_HOLD_END             +5.096s	1
 event15  GESTURE_HOLD_BEGIN           +5.240s	1
 event15  GESTURE_HOLD_END             +5.304s	1
 event15  GESTURE_HOLD_BEGIN           +5.656s	1
 event15  GESTURE_HOLD_END             +5.720s	1
 event15  GESTURE_HOLD_BEGIN           +5.864s	1
 event15  GESTURE_HOLD_END             +5.928s	1
 event15  GESTURE_HOLD_BEGIN           +6.072s	1
 event15  GESTURE_HOLD_END             +6.136s	1
 event15  GESTURE_HOLD_BEGIN           +6.280s	1
 event15  GESTURE_HOLD_END             +6.344s	1
 event15  GESTURE_HOLD_BEGIN           +6.488s	1
 event15  GESTURE_HOLD_END             +6.552s	1
 event15  GESTURE_HOLD_BEGIN           +6.696s	1
 event15  GESTURE_HOLD_END             +6.760s	1
 event15  GESTURE_HOLD_BEGIN           +6.904s	1
 event15  GESTURE_HOLD_END             +6.968s	1
 event15  GESTURE_HOLD_BEGIN           +7.112s	1
 event15  GESTURE_HOLD_END             +7.176s	1
 event15  GESTURE_HOLD_BEGIN           +7.320s	1
 event15  GESTURE_HOLD_END             +7.384s	1
 event15  GESTURE_HOLD_BEGIN           +7.736s	1
 event15  GESTURE_HOLD_END             +7.800s	1
 event15  GESTURE_HOLD_BEGIN           +7.944s	1
 event15  GESTURE_HOLD_END             +8.008s	1

Re: [PATCH] HID: multitouch: add IGNORE_DUPLICATES quirk for ELAN1206 (04f3:30f1)
Posted by Jiri Kosina 2 months ago
On Sun, 5 Oct 2025, Matt Roberts wrote:

> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> index 2879e65cf..ed318c80e 100644
> --- a/drivers/hid/hid-multitouch.c
> +++ b/drivers/hid/hid-multitouch.c
> @@ -2150,6 +2150,10 @@ static const struct hid_device_id mt_devices[] = {
>                 HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
>                         USB_VENDOR_ID_ELAN, 0x32ae) },
> 
> +        /* ELAN1206 touchpad: duplicate tracking IDs cause hold/click storms */
> +        { .driver_data = MT_QUIRK_IGNORE_DUPLICATES,
> +          HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH, 0x04f3, 0x30f1) },

Is there a reason not to use USB_VENDOR_ID_ELAN here, instead of 
open-coding 0x04f3?

Also, the patch has been whitespace-corrupted, so it can't be applied. 
Could you please look into fixing that, and resubmit?

Thanks!

-- 
Jiri Kosina
SUSE Labs