1

The right button on my touchpad only does left clicks. When I press in the lower right corner of my touchpad, a left-click is done.

How can I configure the touchpad to behave like on Windows, where I can press the physical button on the left side for a left click and the right hardware button for a right click?

I would also like to right-click using a two finger tap and disable the middle button area on the touchpad for the button press, so there are only areas for left and right clicks.

| improve this question | | | | |
1

On my Jetson Nano with Ubuntu 18.04, I ran into a similar problem connecting my Logitech TouchPad - this is what I did to make it work for me...

In a terminal window use the xinput cli - first find the id of your touchpad:

xinput list

In my case, the touchpad shows with ID 10; now get the setting for the touchpad:

xinput list 10

In my case I see: libinput tapping enabled (360): 0, meaning that the command id is 360 and the tapping is not enabled - so let's enable it:

xinput set-prop 10 360 1

After this, I can tap slightly with one finger (not a deep press) to left-click, with two fingers to right-click and with three fingers to middle-click.

You can try other settings as well, for example I also set Natural scrolling (the content moves with the swipe, not the scoll-bar) which is what I am used to.

xinput set-prop 10 286 1

Worked for me - hope it works for you too!

| improve this answer | | | | |
0

This solution was tested on Fedora 31 Workstation in X11 mode (not Wayland) and should be compatible with Ubuntu 18.04+ and other distros using the same software (X11, GNOME, libinput).

1. Enable click emulation

Go to Settings -> Devices -> Mouse and Touchpad and enable Tap to click

2. Enable right click emulation through SoftButton Areas and enable middle button emulation

Note: Middle button emulation gets enabled to disable the middle button area for the SoftButtons. It maps left+right click to middle click.

Put the following code into /etc/X11/xorg.conf.d/10-clickpad.conf (as root)

Section "InputClass"
    Identifier  "libinput touchpad catchall"
    Driver      "libinput"
    Option      "MiddleEmulation" "true"
    Option      "ClickMethod" "buttonareas"
EndSection

3. Set GNOME default behavior to SoftButton Areas

Note: May be optional?

Execute this in a terminal (as normal user):

gsettings set org.gnome.desktop.peripherals.touchpad click-method 'areas'

4. Reboot

Reboot and test that everything works as expected:

  • Tap anywhere: left click
  • 2-Finger tap anywhere: right click
  • Press bottom left: left click
  • Press bottom right: right click
  • Press bottom middle: no middle click
  • Press bottom left+right: middle click

Troubleshooting:

The underlying issue here is that most touchpads only have 1 hardware button, so the software handling the input must map that button press to a left click or right click based on the location of your finger at the time of the button press.

Check button mapping

To see what the button press maps to:

  • Get the name of your input device by running xinput list
  • Test the device events by running xinput test 'device_name_or_id'

Be aware that spaces and other special characters in the device name must be escaped or put in single quotes. Cancel the command by pressing CTRL+C.

The output should read button press 3 for a right click and button press 1 for a left click.

Middle button click is still emulated by pressing in the middle

Verify that the middle button emulation is enabled so that the software button area gets disabled by running

xinput list-props '<device_name_or_id>' | grep 326

The output should read libinput Middle Emulation Enabled (326): 1, if not then your touchpad isn't compatible with libinput or it's using another driver by default.

| improve this answer | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.