I use a Lenovo X250 with Debian. I have a touchpad with 3 physical buttons on top. Using xev I can see that these correspond to buttons 1, 2, and 3. Additionally, the touchpad itself can be pressed. Pressing it with one finger generates a button 1 event, pressing it with two fingers generates an event for button 3.

I would like to swap buttons 1 and 3 since I am left handed. This can be done by calling:

 xmodmap -e "pointer = 1 2 3"

This has the desired effect for the physical buttons on top, however, it unfortunately also swaps the events generated by the touchpad click. So, now a one fingered click generates an event for button 3 and a two fingered click generates an event for button 1.

Is there anyway to swap the physical buttons but leave the touchpad click intact?

  • What driver are you using for the touchpad (/var/log/Xorg.log)? If synaptics, you can configure the buttons generated by the touchpad click (xorg.conf or xinput, man synaptics). – dirkt Jun 22 '17 at 18:45
  • Run xinput list to find the touchpad device name or ID then xinput list-props "touchpad device name or ID" to list properties that you can change with xinput set-prop. Setting one or more property may allow you to do what you want. – Gilles Jun 23 '17 at 1:02
  • I am using synaptics. I looked through the documentation. It seems that TapButton1-3 and ClickFinger1-3 are the most likely candidates. I've tried setting them via synclient, but they don't seem to change anything. Do I need to restart something after setting them? – oneself Jul 5 '17 at 20:16

Your Answer

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

Browse other questions tagged or ask your own question.