I've tried configuring two trackpads (laptop internal and Apple Magic Trackpad) using synaptics
and libinput
respectively, but still find that sometimes trackpad taps aren't detected.
Using xinput --test
, I observe that sometimes taps aren't detected after a number of motion
events. It's almost like some other gesture is blocking and waiting for some user interaction.
Is there a way I can disable everything other than tapping for a trackpad? I guess this might be device-specific?
OS: Ubuntu 18.04.4 LTS
As a reference, the below stingy config wasn't resilient enough:
» xinput --list-props 9
Device 'Apple Inc. Magic Trackpad 2':
Device Enabled (140): 1
Coordinate Transformation Matrix (142): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (277): 1
libinput Tapping Enabled Default (278): 0
libinput Tapping Drag Enabled (279): 0
libinput Tapping Drag Enabled Default (280): 1
libinput Tapping Drag Lock Enabled (281): 0
libinput Tapping Drag Lock Enabled Default (282): 0
libinput Tapping Button Mapping Enabled (283): 1, 0
libinput Tapping Button Mapping Default (284): 1, 0
libinput Natural Scrolling Enabled (285): 0
libinput Natural Scrolling Enabled Default (286): 0
libinput Disable While Typing Enabled (287): 1
libinput Disable While Typing Enabled Default (288): 1
libinput Scroll Methods Available (289): 1, 1, 0
libinput Scroll Method Enabled (290): 0, 0, 0
libinput Scroll Method Enabled Default (291): 1, 0, 0
libinput Click Methods Available (292): 1, 1
libinput Click Method Enabled (293): 0, 0
libinput Click Method Enabled Default (294): 0, 1
libinput Middle Emulation Enabled (295): 0
libinput Middle Emulation Enabled Default (296): 0
libinput Accel Speed (297): 0.000000
libinput Accel Speed Default (298): 0.000000
libinput Left Handed Enabled (299): 1
libinput Left Handed Enabled Default (300): 0
libinput Send Events Modes Available (262): 1, 1
libinput Send Events Mode Enabled (263): 0, 0
libinput Send Events Mode Enabled Default (264): 0, 0
Device Node (265): "/dev/input/event5"
Device Product ID (266): 1452, 613
libinput Drag Lock Buttons (301): <no items>
libinput Horizontal Scroll Enabled (302): 0
» cat /usr/share/X11/xorg.conf.d/90-magictrackpad.conf
Section "InputClass"
Identifier "Touchpads"
Driver "mtrack"
MatchProduct "Trackpad"
MatchDevicePath "/dev/input/event*"
# options...
Option "Sensitivity" "0.55"
Option "FingerHigh" "10"
Option "FingerLow" "10"
Option "TapButton1" "1"
#Option "TapButton2" "3"
#Option "TapButton3" "2"
#Option "TapButton4" "0"
Option "ButtonIntegrated" "true"
Option "ClickTime" "25"
Option "ScrollDistance" "75"
Option "ScrollSmooth" "1"
Option "TapDragEnable" "false"
libinput debug-events --verbose
andevemu-record
utilities. First one reports what libinput sees. The second one is more verbose and prints the actual events that the kernel sends down to userspace (i.e. to libinput library). Then, if you see e.g. tap events in evemu but not libinput, then you know where's the problem. In this case I'd recommend to try latest released libinput (Ubuntu likes to have ancient versions of software), and if it didn't help, report a bug – Hi-Angel Mar 14 '20 at 11:11evemu-record
but not inxinput --test
. Furthermore,libinput debug-events
only displaysPOINTER_MOTION
and nothing more - so there are moments wherexinput --test
has events but nothing inlibinput debug-events
. If you have any advice on why these might be out of sync, or how to updatelibinput
accordingly, it'd be much appreciated! – AskingForAFriend Mar 15 '20 at 17:40POINTER_MOTION
: you need to uselibinput debug-events
with the option--verbose
to see touch events. Idk why they're not shown by default. Regarding upgrading to latest libinput: unfortunately there's no PPA, so one has to build from source code. It's easy though, you can follow this answer, but please read the comments to know possible problems that the answer hasn't addressed. – Hi-Angel Mar 15 '20 at 20:08