Librem 14 Touchpad right click button not detected on Arch

On my Librem 14, with Arch (EndeavourOS) and KDE Plasma installed, the right button of the touchpad does not work / get detected. The right button does a left click as well.

I’m unsure what needs to be configured / installed to get it working.

2 Likes

Did you figure this out? I noticed this recently as well on Manjaro, super annoying when not using a mouse.

Sadly I didn’t figure this out yet. However, I"ve investigated further. libinput detects the right button as a left button. So it definitely isn’t a configuration/settings issue:

Relevant output of libinput debug-events

 event8   POINTER_BUTTON   +22.776s     BTN_LEFT (272) pressed, seat count: 1
 event8   POINTER_BUTTON   +22.943s     BTN_LEFT (272) released, seat count: 0
 event8   POINTER_BUTTON   +23.462s     BTN_LEFT (272) pressed, seat count: 1
 event8   POINTER_BUTTON   +23.572s     BTN_LEFT (272) released, seat count: 0

The first one (so 2 lines) is the actual left button. The second one is the right button.

Relevant output of libinput list-devices

Device:           HTIX5288:00 0911:5288 Mouse
Kernel:           /dev/input/event7
Group:            7
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           HTIX5288:00 0911:5288 Touchpad
Kernel:           /dev/input/event8
Group:            7
Seat:             seat0, default
Size:             110x71mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    none
Disable-w-typing: enabled
Accel profiles:   flat *adaptive
Rotation:         n/a

I just tested if it works on PureOS. And at least during the installation process, it doesn’t work as well. So it seems, like there is no right lick button on the Librem 14 touchpad.

Could someone from the purism team confirm this?

Just curious… If you enable two-finger right-click in the touchpad settings, does that work as expected?

This does indeed work as expected and I am currently using this setup to right-click.

However, I’d really appreciate having a button for this…

1 Like

there is no “right button” to my knowledge. There’s left button click, left tap, and two-finger right-tap (plus other gestures).

So I wrote with the pursim support regarding different problems I have with my Librem 14.

For PureOS users, you can make the right click work as described in the purism troubleshooting.

So it does indeed work on PureOS, when setting the Touchpad Mouse Click emulation to “Area” in Gnome Tweaks. This does internally use the Click method button areas of libinputs. So I should be able to just enable this click method on my arch system as well, and it should work.

However, on my arch system, libinputs does not list any click method as supported with this touchpad:

Device:           HTIX5288:00 0911:5288 Touchpad
Kernel:           /dev/input/event8
Group:            7
Seat:             seat0, default
Size:             110x71mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    none
Disable-w-typing: enabled
Accel profiles:   flat *adaptive
Rotation:         n/a

As you see, it says Click methods: none. Accoring to the libinputs docs it should list all supported methods here.

On PureOS the output is the same, except for showing available click methods: Click methods: *button-areas clickfinger (and the lines Kernel and Group).

Anybody an idea why libinput says it doesn’t support those on Arch, but it does support them on PureOS? The Version of libinputs is 1.16.4 on PureOS and 1.18.0 on Manjaro.

1 Like

So another question into the direction of the purism stuff. @MrChromebox

As this clearly works on PureOS but not on other OSes, do you have any idea why that is? Did you had to change anything on PureOS to get support for this? E.g. did you patch lininputs for this?

there are no L14-specific changes to PureOS other than the inclusion of the ACPI driver for the EC.

Do you have enough data to suggest that? It may help to try e.g. Debian or Ubuntu.

The issue is caused by the new version 1.18 of libinputs. I reported this as a bug to libinputs and hope they will fix it soon. As a temporary workaround till a fix is available, one may downgrade to an earlier Version. On Arch, this can be done like this:

sudo pacman -U https://archive.archlinux.org/packages/l/libinput/libinput-1.17.3-1-x86_64.pkg.tar.zst

CC: @aaronbrighton

1 Like

The issue with this touchpad is, that it it announces a right click button to the kernel even though it doesn’t has one. Therefore the new libinput version disabled clickpad support for it. A merge request with a device quirk as fix is opened at upstream. A better temporary workaround than using the old version creating the file /etc/libinput/local-overrides.quirks with the following content:

# Clickpad that announces BTN_RIGHT
# https://gitlab.freedesktop.org/libinput/libinput/-/issues/629
[Librem 14v1 Touchpad]
MatchName=HTIX5288:00 0911:5288 Touchpad
MatchUdevType=touchpad
MatchDMIModalias=dmi:*svnPurism:*pvr1.0*
AttrEventCodeDisable=BTN_RIGHT
3 Likes

Hello, same issue for me on Fedora 34 (kernel 5.12.14-300) with libinput 1.18.0-2.

The workaround creating /etc/libinput/local-overrides.quirks file works fine. Thanks!

So much better now! Thanks