1

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"
  • You can debug it with libinput debug-events --verbose and evemu-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:11
  • @Hi-Angel Thanks for the suggestion - I indeed see touch events correctly triggering (seemingly always) in evemu-record but not in xinput --test. Furthermore, libinput debug-events only displays POINTER_MOTION and nothing more - so there are moments where xinput --test has events but nothing in libinput debug-events. If you have any advice on why these might be out of sync, or how to update libinput accordingly, it'd be much appreciated! – AskingForAFriend Mar 15 '20 at 17:40
  • About you seeing only POINTER_MOTION: you need to use libinput 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

0 Answers0