Trackpad issue: right & middle clicks detected as left

Hi everyone!

I’m opening a thread to report an irritating issue I’ve been facing since yesterday. I believe this behaviour appeared after I ran a dist-upgrade yesterday in the afternoon, during which lots of packages were updated (Gnome 3.28, Linux 4.15.8-1 etc.). The problem is quite simple: my laptop’s trackpad’s right and middle buttons now behave like the left one, making it almost impossible to fully use my laptop without the help of an external mouse. The laptop is an Asus X556UV, the system is openSUSE Tumbleweed with Gnome; the problem occurs both when using Wayland and Xorg, and both when using Linux 4.15.8 and 4.15.7.
Has anyone got any advice?
Let me know if you need me to provide more details about the issue.
Thank you in advance for your attention!

And nothing you can change about this in gnome-settings ?

Nope. In Gnome’s Control Center, in the Mouse & Trackpad section, the utility that lets me test the trackpad’s/mouse’s settings shows that the left, middle and right clicks are all detected as “primary buttons” when I press them.

A bug report is probably required, but first you could demonstrate the issue by capturing the button events generated with…

sudo libinput-debug-events

Also what does the following command report about your trackpad device?

libinput-list-devices

(ignore the other device output blocks)

When pressing the left, middle and right buttons (in this exact sequence) of the touchpad, the events shown are

# libinput-debug-events

...
-event17  POINTER_BUTTON    +2.83s    BTN_LEFT (272) pressed, seat count: 1
 event17  POINTER_BUTTON    +2.98s    BTN_LEFT (272) released, seat count: 0
 event17  POINTER_BUTTON    +4.18s    BTN_MIDDLE (274) pressed, seat count: 1
 event17  POINTER_BUTTON    +4.30s    BTN_MIDDLE (274) released, seat count: 0
 event17  POINTER_BUTTON    +7.03s    BTN_RIGHT (273) pressed, seat count: 1
 event17  POINTER_BUTTON    +7.20s    BTN_RIGHT (273) released, seat count: 0
...

While when pressing the right, left and middle buttons (in this exact sequence) of my mouse, the events shown are


-event4   POINTER_BUTTON   +15.97s    BTN_RIGHT (273) pressed, seat count: 1
 event4   POINTER_BUTTON   +16.19s    BTN_RIGHT (273) released, seat count: 0
 event4   POINTER_MOTION   +16.76s     -0.31/ -0.31
 event4   POINTER_MOTION   +16.77s     -0.84/  0.00
 event4   POINTER_MOTION   +16.77s     -1.00/ -1.00
 event4   POINTER_MOTION   +16.78s     -1.00/  0.00
 event4   POINTER_MOTION   +16.79s     -2.00/ -1.00
 event4   POINTER_MOTION   +16.81s     -1.00/ -1.00
 event4   POINTER_MOTION   +16.82s     -1.00/  0.00
 event4   POINTER_BUTTON   +17.34s    BTN_LEFT (272) pressed, seat count: 1
 event4   POINTER_BUTTON   +17.52s    BTN_LEFT (272) released, seat count: 0
 event4   POINTER_MOTION   +18.98s      0.00/ -0.83
 event4   POINTER_BUTTON   +18.98s    BTN_MIDDLE (274) pressed, seat count: 1
libinput-debug-events event4   POINTER_BUTTON   +19.18s    BTN_MIDDLE (274) released, seat count: 0

# libinput-list-devices

...
Device:           Elan Touchpad
Kernel:           /dev/input/event17
Group:            8
Seat:             seat0, default
Size:             97x64mm
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
...

Ok, that checks out as expected. It must be a Gnome-specific issue then.

Try creating a new user, and login to that account. Any difference with the button behaviour?

Also, what is reported by the following?

gsettings list-recursively org.gnome.desktop.peripherals.touchpad
gsettings list-recursively org.gnome.desktop.peripherals.mouse

When using the newly-created user, the problem persists. However, you are right: it must be a Gnome-specific issue, because I logged into an IceWM session (with my usual, “old” user account) and the touchpad buttons worked as expected.

# gsettings list-recursively org.gnome.desktop.peripherals.touchpad

org.gnome.desktop.peripherals.touchpad send-events 'enabled'
org.gnome.desktop.peripherals.touchpad natural-scroll true
org.gnome.desktop.peripherals.touchpad tap-to-click true
org.gnome.desktop.peripherals.touchpad two-finger-scrolling-enabled true
org.gnome.desktop.peripherals.touchpad left-handed 'mouse'
org.gnome.desktop.peripherals.touchpad click-method 'fingers'
org.gnome.desktop.peripherals.touchpad speed 0.0
org.gnome.desktop.peripherals.touchpad tap-and-drag true
org.gnome.desktop.peripherals.touchpad edge-scrolling-enabled false
org.gnome.desktop.peripherals.touchpad disable-while-typing true
# gsettings list-recursively org.gnome.desktop.peripherals.mouse

org.gnome.desktop.peripherals.mouse natural-scroll false
org.gnome.desktop.peripherals.mouse speed 0.0
org.gnome.desktop.peripherals.mouse accel-profile 'default'
org.gnome.desktop.peripherals.mouse left-handed false

Time to report as a bug IMHO.

Hi,

You can fix this in gnome tweaks under “Keyboard & Mouse” -> “Mouse Click Emulation” and set it to “Area”. For some reason “Fingers” is the new default even though no one uses this method.

This precisely resolved the issue I was having. Chalk up another one for confusion found between “Settings” and “Tweaks”… ::\

Thank you so much for this fix!