0

I have Mi Notebook Pro (15.6 inches), it has very big, usable touchpad (apparently, manufactured by Elantech).

But it's palm detection works very poorly. I started to bang my head with it in hope to tweak my touchpad and found that there is actually two. Here is the list:

$ sudo libinput list-devices | grep -A18 Touchapd
Device:           ETD2303:00 04F3:3083 Touchpad
Kernel:           /dev/input/event5
Group:            6
Seat:             seat0, default
Size:             125x78mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    *button-areas clickfinger 
Disable-w-typing: enabled
Accel profiles:   none
Rotation:         n/a

--
Device:           ETPS/2 Elantech Touchpad
Kernel:           /dev/input/event8
Group:            10
Seat:             seat0, default
Size:             125x81mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    *button-areas clickfinger 
Disable-w-typing: enabled
Accel profiles:   none
Rotation:         n/a

The touchpad which actually produces input events is ETD2303:00 04F3:3083 Touchpad (/dev/input/event5), I found it out using libinput debug-events.

It raises a bunch of questions. The general one is why there is two touchpads? The touchpad in my laptop have fingerprint scanner (I'm not using it), could be that the second one is a fingerprint scanner?

The second major question is as follows. It seems like there is no proper driver for my touchpad in the kernel because of strange name of listed touchpad (is it PCI ven:dev IDs?). How to check that?

And last, but not least question is how to tune palm detection so it will work more conveniently? Is it possible in the first place?

I've Budgie 10.5 (Gnome stack 3.28.1), xorg 1.20.3, xorg-driver-input-libinput 0.28.1, libinput 1.12.3, and linux 4.19.8.

UPD

I accidentally looked at kernel logs and found very interesting thing: it is fuuuuuull of this event:

i2c_hid i2c-ETD2303:00: i2c_hid_get_input: incomplete report (14/65535)

When I did it there was almost billion of this event! I decided to reboot and then measure frequency again:

$ uptime
 01:13:31 up 13 min,  1 user,  load average: 0,14, 0,61, 0,67
$ journalctl -k | grep i2c-ETD2303:00 | wc -l
24219

As you can see, ~24 thousands of same event in 13 min is insane.

So, here is another questions: what's it to hid-i2c here? Isn't that this touchpad driver is elantech? I found this question, there is advice in the answer to disable "HID over I2c" feature. I've no option in firmware setup to do that. Can it be done programmatically? Is that the touchpad "phisically" wired over I2c?

  • Does addint i8042.reset to GRUB solve your problem? see unix.stackexchange.com/questions/467199/… – Rui F Ribeiro Dec 16 '18 at 12:19
  • I added the parameter to kernel command line, but can't measure impact immediately, I need to type some text for a while. – tosh Dec 16 '18 at 12:43
  • I worked for a while with this parameter enabled and now can say that it doesn't solve my problem. – tosh Dec 23 '18 at 14:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.