Touchpad too sensitive

Hi guys,

I’m struggling with a touchpad problem with my ‘Thinkpad L13 Yoga’ - probably since day 1 after installing Manjaro KDE half a year ago. Since I usually use an external mouse, I rarely use the touchpad and have therefore hardly noticed the problem:

My touchpad is too sensitive!

Unlike other touchpad related problems, my Elan touchpad is detected correctly and the pointer movement is as I would like it to be. What I’m talking about is the pressure threshold when a click is detected (with the option “tap to click” enabled). It’s too sensitive, so the movement of the pointer is interpreted as dragging in half the time.

Can someone help me fix this?
The system settings didn’t help me in any way. I will gladly give additional information from my side :slight_smile:

`inxi -Fxz`
System:    Kernel: 5.8.6-1-MANJARO x86_64 bits: 64 compiler: N/A Desktop: KDE Plasma 5.19.5 Distro: Manjaro Linux 
Machine:   Type: Convertible System: LENOVO product: 20R6S00800 v: ThinkPad L13 Yoga serial: <filter> 
           Mobo: LENOVO model: 20R6S00800 serial: <filter> UEFI: LENOVO v: R15ET25W (1.05 ) date: 10/15/2019 
Battery:   ID-1: BAT0 charge: 38.4 Wh condition: 39.4/46.0 Wh (86%) model: Celxpert 02DL031 status: Discharging 
CPU:       Topology: Quad Core model: Intel Core i5-10210U bits: 64 type: MT MCP arch: Kaby Lake rev: C L2 cache: 6144 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 bogomips: 33615 
           Speed: 783 MHz min/max: 400/4200 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800 5: 800 6: 800 7: 800 8: 800 
Graphics:  Device-1: Intel UHD Graphics vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 
           Device-2: Chicony ThinkPad T490 Webcam type: USB driver: uvcvideo bus ID: 1-5:3 
           Device-3: Chicony Integrated 5M Camera type: USB driver: uvcvideo bus ID: 1-9:7 
           Display: x11 server: X.Org 1.20.8 driver: modesetting resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 20.1.7 direct render: Yes 
Audio:     Device-1: Intel vendor: Lenovo driver: snd_hda_intel v: kernel bus ID: 00:1f.3 
           Sound Server: ALSA v: k5.8.6-1-MANJARO 
Network:   Device-1: Intel Wireless-AC 9462 driver: iwlwifi v: kernel port: 2000 bus ID: 00:14.3 
           IF: wlp0s20f3 state: up mac: <filter> 
           Device-2: Intel Ethernet I219-V vendor: Lenovo driver: e1000e v: 3.2.6-k port: efa0 bus ID: 00:1f.6 
           IF: enp0s31f6 state: down mac: <filter> 
           IF-ID-1: vpn0 state: down mac: N/A 
Drives:    Local Storage: total: 476.94 GiB used: 95.74 GiB (20.1%) 
           ID-1: /dev/nvme0n1 vendor: Toshiba model: N/A size: 476.94 GiB 
Partition: ID-1: / size: 468.16 GiB used: 95.74 GiB (20.4%) fs: ext4 dev: /dev/nvme0n1p2 
Swap:      Alert: No Swap data was found. 
Sensors:   System Temperatures: cpu: 41.0 C mobo: 1.0 C 
           Fan Speeds (RPM): cpu: 0 
Info:      Processes: 287 Uptime: 8d 18h 07m Memory: 15.36 GiB used: 3.73 GiB (24.3%) Init: systemd Compilers: gcc: 10.2.0 
           Packages: 1719 Shell: Bash v: 5.0.18 inxi: 3.1.05 
1 Like

Can anybody help me out here? :neutral_face:

First check if you are using libinput library or not by:

xinput list

Then find the id corresponding id of your touchpad and do

xinput list-props 13

where 13 is the id of your touchpad from xinput list.
Check if libinput is being used by the device.
( xinput requires xorg-xinput package )

So alternatively if you want, you can do,

grep -e “Using input driver ‘libinput’” path/to/xorg-log/Xorg.n.log

And check if libinput is being used for the touchpad device.
In my case this path is ~/.local/share/xorg/Xorg.0.log

To change sensitivity take a look at this arch wiki link for libinput

Hey,
thank you for your answer.
I was looking into this issue a while back, but it seems this still was at the old forum, so the thread was lost.

I’m using libinput and xinput list-props 18 gives

this here
Device 'Elan Touchpad':
        Device Enabled (178):   1
        Coordinate Transformation Matrix (180): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Tapping Enabled (365): 1
        libinput Tapping Enabled Default (366): 0
        libinput Tapping Drag Enabled (367):    0
        libinput Tapping Drag Enabled Default (368):    1
        libinput Tapping Drag Lock Enabled (369):       0
        libinput Tapping Drag Lock Enabled Default (370):       0
        libinput Tapping Button Mapping Enabled (371):  1, 0
        libinput Tapping Button Mapping Default (372):  1, 0
        libinput Natural Scrolling Enabled (316):       0
        libinput Natural Scrolling Enabled Default (317):       0
        libinput Disable While Typing Enabled (373):    1
        libinput Disable While Typing Enabled Default (374):    1
        libinput Scroll Methods Available (318):        1, 1, 0
        libinput Scroll Method Enabled (319):   1, 0, 0
        libinput Scroll Method Enabled Default (320):   1, 0, 0
        libinput Click Methods Available (375): 1, 1
        libinput Click Method Enabled (376):    1, 0
        libinput Click Method Enabled Default (377):    1, 0
        libinput Middle Emulation Enabled (325):        0
        libinput Middle Emulation Enabled Default (326):        0
        libinput Accel Speed (327):     0.400000
        libinput Accel Speed Default (328):     0.000000
        libinput Accel Profiles Available (329):        1, 1
        libinput Accel Profile Enabled (330):   1, 0
        libinput Accel Profile Enabled Default (331):   1, 0
        libinput Left Handed Enabled (332):     0
        libinput Left Handed Enabled Default (333):     0
        libinput Send Events Modes Available (301):     1, 1
        libinput Send Events Mode Enabled (302):        0, 0
        libinput Send Events Mode Enabled Default (303):        0, 0
        Device Node (304):      "/dev/input/event6"
        Device Product ID (305):        1267, 51
        libinput Drag Lock Buttons (334):       <no items>
        libinput Horizontal Scroll Enabled (335):       1

I’ll have a look at the link you provided.


Edit: I’m trying the methode described here right now.

For “strokes” without tapping I get

+-------------------------------------------------------------------------------+
| Thresh |   10   |  8   |  130   |  255   |                                    |
+-------------------------------------------------------------------------------+
| Touch  |  down  |  up  |  palm  | thumb  | min  | max  | p  | avg  |  median  |
+-------------------------------------------------------------------------------+
|  147   |   x    |  x   |        |        |  42  |  49  | 0  |  46  |    47    |
|  148   |   x    |  x   |        |        |  39  |  47  | 0  |  44  |    45    |
|  149   |   x    |  x   |        |        |  42  |  49  | 0  |  45  |    46    |
|  150   |   x    |  x   |        |        |  42  |  47  | 0  |  45  |    45    |
|  151   |   x    |  x   |        |        |  44  |  47  | 0  |  45  |    46    |
+-------------------------------------------------------------------------------+

For tapping:

+-------------------------------------------------------------------------------+
| Thresh |   10   |  8   |  130   |  255   |                                    |
+-------------------------------------------------------------------------------+
| Touch  |  down  |  up  |  palm  | thumb  | min  | max  | p  | avg  |  median  |
+-------------------------------------------------------------------------------+
|  152   |   x    |  x   |        |        |  47  |  54  | 0  |  51  |    52    |
|  153   |   x    |  x   |        |        |  41  |  53  | 0  |  47  |    49    |
|  154   |   x    |  x   |        |        |  46  |  55  | 0  |  51  |    52    |
|  155   |   x    |  x   |        |        |  46  |  55  | 0  |  50  |    51    |
|  156   |   x    |  x   |        |        |  44  |  54  | 0  |  49  |    51    |
+-------------------------------------------------------------------------------+

So I’m guessing I have set the DOWN value to something like 47, and the UP value for something lower than that. Am I doing this right?

Okay. I’m not getting it. I managed the find a threshold setting where taps are denoted with DOWN and just moving the pointer gestures are not.

Moving:

+-------------------------------------------------------------------------------+
| Thresh |   50   |  41  |  130   |  255   |                                    |
+-------------------------------------------------------------------------------+
| Touch  |  down  |  up  |  palm  | thumb  | min  | max  | p  | avg  |  median  |
+-------------------------------------------------------------------------------+
|  397   |        |  x   |        |        |  42  |  48  | 0  |  45  |    46    |
|  398   |        |  x   |        |        |  43  |  49  | 0  |  46  |    46    |
|  399   |        |  x   |        |        |  43  |  49  | 0  |  46  |    47    |
|  400   |        |  x   |        |        |  42  |  48  | 0  |  45  |    45    |
|  401   |        |  x   |        |        |  43  |  49  | 0  |  46  |    46    |
|  402   |        |  x   |        |        |  44  |  49  | 0  |  46  |    47    |
|  403   |        |  x   |        |        |  45  |  50  | 0  |  47  |    48    |
|  404   |        |  x   |        |        |  44  |  48  | 0  |  46  |    47    |
|  405   |        |  x   |        |        |  42  |  49  | 0  |  45  |    46    |
|  406   |        |  x   |        |        |  44  |  49  | 0  |  47  |    47    |
+-------------------------------------------------------------------------------+

Tapping:

+-------------------------------------------------------------------------------+
| Thresh |   50   |  41  |  130   |  255   |                                    |
+-------------------------------------------------------------------------------+
| Touch  |  down  |  up  |  palm  | thumb  | min  | max  | p  | avg  |  median  |
+-------------------------------------------------------------------------------+
|  407   |   x    |  x   |        |        |  49  |  55  | 0  |  52  |    53    |
|  408   |   x    |  x   |        |        |  44  |  53  | 0  |  49  |    50    |
|  409   |   x    |  x   |        |        |  45  |  53  | 0  |  49  |    50    |
|  410   |   x    |  x   |        |        |  48  |  55  | 0  |  52  |    53    |
|  411   |   x    |  x   |        |        |  46  |  53  | 0  |  49  |    50    |
|  412   |   x    |  x   |        |        |  46  |  52  | 0  |  49  |    50    |
|  413   |   x    |  x   |        |        |  46  |  54  | 0  |  50  |    51    |
|  414   |   x    |  x   |        |        |  44  |  51  | 0  |  47  |    48    |
|  415   |        |  x   |        |        |  43  |  50  | 0  |  47  |    48    |
|  416   |   x    |  x   |        |        |  45  |  51  | 0  |  48  |    50    |
+-------------------------------------------------------------------------------+

But nothing changed. Moving my pointer causes drag gestures or the selection of text.
The only thing what changed is that some strokes are not recognized anymore at all.

I am assuming you did something like
sudo libinput measure touchpad-pressure --touch-thresholds=10:8

It can be run multiple times with different thresholds and see if it matches your expectation. It is not a permanent change. (Made permanent only when added to device quirks)

As mentioned in the libinput docs, only you with access to the hardware can figure out the correct ranges.

May be someone with more experience can help you. :crossed_fingers:

You’re partially right. :slightly_smiling_face:
But I also managed to made the change permanent by using the device quirks mentioned at the bottom of this section.

A few points where I’m struggeling:

  • I’m not sure if I interpret the DOWN correctly. Is this when a touch is registered as a click or when a touch is noticed at all?
  • What exactly is the UP value for? Is it a sort f lower threshold for when a click should be registered as released?
  • How exactly do I restart X to apply the quirks? I tried with logging out and in, is that enough?
  • The pressure value of only moving the pointer and tap-to-click are really close for me. I’m not sure how I set the thresholds properly.

Anyone else with experience who can help me out here?

I had the same problem with my AlpsTrackpad on my Dell 5000 series laptop. Far to sensitive/jumpie/nervous. Only three days ago I solved this problem by covering the touchpad with broad transparant tape - the sort they use to close cardboard boxes with. It is not even the thinnest kind.
I have never had it so good! I can just write and don’t have to worry where my cursor will be in a few seconds.

Well, first of all, thanks for your input. I’m glad that this works for you!
Nevertheless I feel there should be a software solution for that problem. :confused:

Hi fbn,

Were you ever able to resolve the trackpad sensitivity issue? I’m having the same with my laptop, Starlabs Mark IV.

I have the same problem here, with starlabs mkiii, are you using gnome?

Hey!

Sadly I couldn’t solve it yet. As I’m typically working from home and another stationary place I always use an external mouse anyway, but when I’m on the go I basically have to use the red Thinkpad Dot and not my mousepad. :frowning:

I’m using KDE plasma actually.

This issue still persists for me and driving me insane when I don’t use an external mouse.
I’ve tried live installations of Manjaro Gnome and some older Ubuntu. Still ran into the same issue. :slightly_frowning_face:

here the same, seems to happen when ram use is high, and specially with firefox.

For me it happens all the time. After boot, idle, full power. Doesn’t matter.
I’m beginning to think of a hardware error, since I bought my Thinkpad without OS and don’t have the comparison whether this over-sensitivity also would occur with Windows.

maybe not, at least it never happened to me while using Debian or Fedora.

Then this is probably not the same issue here.

I’ve managed to put in reasonable pressure threshold values. I just don’t know, how to specify a value where a touch is still registered as a touch (for pointer movement) but not as a click (for for selecting or executing something). If somebody can offer some assistance here, I’d be really glad!

defenetely different problem then mine, I only have this problem every now and then and on while using firefox. for me I believe it’s because of my coreboot firmware that is not very stable yet.

No offense, but this doesn’t help me at all. :slightly_frowning_face: