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?

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to xserver-xorg-input-libinput in Ubuntu.
https://bugs.launchpad.net/bugs/1887190

Title:
  MSFT Touchpad not working on Lenovo Legion-5 15ARH05

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1887190/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : ubuntu-x-swat@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to