Saturday, May 4, 2024
 Popular · Latest · Hot · Upcoming
11
rated 0 times [  11] [ 0]  / answers: 1 / hits: 3980  / 2 Years ago, sat, august 13, 2022, 10:44:17

I see that I can configure mouse and touchpad all in one panel (Ubuntu 13.10, defaults, Gnome). Which is to some extend. Namely, I want to have the touchpad differently configured then the mouse and ...



When I have an (USB) mouse attached I use it normally left-handed. Therefore I switch the buttons to left-handed. But when I use the touchpad I feel little bit lost with that kind of configuration. Therefore I wanna have it right-handed.



Is there a way to achieve the following: when I plugin a mouse (respectively when it is detected) automatically switch to left-handed and when I unplug it, switch automatically to right-handed?


More From » mouse

 Answers
7

I understand your frustration, but this problem can be solved very simple with the help of xinput tool.



First plug in your USB mouse, then run the following command:



xinput list


to see the id of your mouse. The output of above command it can be similar to:



xinput | cat
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=14 [slave pointer (2)]
⎜ ↳ USB Mouse id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
...


In the above example the USB mouse has id=11. We will use this id in the following command which will swap buttons to be left handed only for the USB mouse (and not for tauchpad):



xinput set-button-map 11 3 2 1


In general:



xinput set-button-map id 3 2 1


To revert the change, use:



xinput set-button-map id 1 2 3


To make the change permanently, add the following command at Startup Applications (search in Dash for Startup Applications):



sh -c "xinput set-button-map id 3 2 1"


Update:



Since the id might change after reboot but the name of the USBmouse not, you could also grep for the name of the mouse and apply it. To skip the details reg. picking out the name the final solution looks like:



for id in `/usr/bin/xinput list | /bin/grep 'USB Mouse' | /bin/grep -o [0-9][0-9]`; do xinput set-button-map $id 3 2 1; done;


pack it into the above mentioned Startup Applications you'll get finally:



sh -c "for id in `/usr/bin/xinput list | /bin/grep 'USB Mouse' | /bin/grep -o [0-9][0-9]`; do xinput set-button-map $id 3 2 1; done;"

[#28409] Monday, August 15, 2022, 2 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
saucdisr

Total Points: 4
Total Questions: 102
Total Answers: 117

Location: Ecuador
Member since Thu, Jun 4, 2020
4 Years ago
;