Although Elan Touchpad is listed in the output of xinput, "0" in "hid_elan 16384 0" shows hid_elan is not being used. Is there an entry named "*:04F3:3140.*" under /sys/bus/hid/drivers/hid-elan/? > plus I found that this device is already defined in hid-elan.c I couldn't find the string 0x3140. Do you mean the device is defined in another way? Yesterday, I used evtest to monitor the Synaptics touchpad and was surprised to find when hid_multitouch is taking over the device, multiple fingers (up to 4) touching could be detected, ``` $ sudo evtest /dev/input/event14: MSFT0001:00 06CB:7F28 Mouse /dev/input/event15: MSFT0001:00 06CB:7F28 Touchpad Select the device event number [0-21]: 15 Input driver version is 1.0.1 Input device ID: bus 0x18 vendor 0x6cb product 0x7f28 version 0x100 Input device name: "MSFT0001:00 06CB:7F28 Touchpad" Supported events: Event type 0 (EV_SYN) 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 0 Min 0 Max 1224 Resolution 12 Event code 1 (ABS_Y) Value 0 Min 0 Max 804 Resolution 12 Event code 47 (ABS_MT_SLOT) Value 0 Min 0 Max 4 Event code 53 (ABS_MT_POSITION_X) Value 0 Min 0 Max 1224 Resolution 12 Event code 54 (ABS_MT_POSITION_Y) Value 0 Min 0 Max 804 Resolution 12 Event code 55 (ABS_MT_TOOL_TYPE) Value 0 Min 0 Max 2 Event code 57 (ABS_MT_TRACKING_ID) Value 0 Min 0 Max 65535 Event type 4 (EV_MSC) Event code 5 (MSC_TIMESTAMP) Properties: Property type 0 (INPUT_PROP_POINTER) Property type 2 (INPUT_PROP_BUTTONPAD) Testing ... (interrupt to exit) Event: time 1597225994.180980, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0 Event: time 1597225994.180980, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 765 Event: time 1597225994.180980, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 220 Event: time 1597225994.180980, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1 Event: time 1597225994.180980, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 1 Event: time 1597225994.180980, type 3 (EV_ABS), code 0 (ABS_X), value 765 Event: time 1597225994.180980, type 3 (EV_ABS), code 1 (ABS_Y), value 220 Event: time 1597225994.180980, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0 Event: time 1597225994.180980, -------------- SYN_REPORT ------------ ``` The only issue is the pointer won't move when I my fingers move on the touchpad. Compared with a working touchpad, the only difference is the lack of ABS_PRESSURE events. If I use hid-rmi, these ABS_PRESSURE events would be generated. It seems ABS_PRESSURE events are needed to make the pointer move. If I could let hid_multitouch collect ABS_PRESSURE events, then the touchpad could work. So I'm curious if hid_multitouch also handle your touchpad device by default, could you run `sudo evtest` on the device to see what kinds of events could be generated?