2018-11-28
Using mice adopted to my hands
The old rsi problem was acting up again, just like I had RSI in 1999. One of the things I now did was add a left-side mouse on the linux desktop at home. I have used a left-side mouse for a number of years on a linux desktop and used the instructions from the xmodmap manpage:Many pointers are designed such that the first button is pressed using the index finger of the right hand. People who are left-handed fre‐ quently find that it is more comfortable to reverse the button codes that get generated so that the primary button is pressed using the index finger of the left hand. This could be done on a 3 button pointer as follows: % xmodmap -e "pointer = 3 2 1"But I now have two USB mice, one with a forward/backward button and a clearly right-handed design and one simple one on the left. And it is possible to selectively swap mouse buttons on only one input device with xinput. The list of all inputs:koos@thompson:~$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech USB-PS/2 Optical Mouse id=9 [slave pointer (2)] ⎜ ↳ Logitech Optical USB Mouse id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Power Button id=7 [slave keyboard (3)] ↳ Burr-Brown from TI USB Audio CODEC id=8 [slave keyboard (3)] ↳ VIA Technologies Inc. USB Audio Device id=11 [slave keyboard (3)] ↳ daskeyboard id=12 [slave keyboard (3)] ↳ daskeyboard id=13 [slave keyboard (3)] ↳ Dell WMI hotkeys id=14 [slave keyboard (3)]Setting the button order happens with xinput set-button-map which needs an ID. Solution in .xsession:xinput set-button-map $(xinput list --id-only "Logitech Optical USB Mouse") 3 2 1Oh, and in that other operating system I use (Windows) one of the problems is the user can't set mouse button order per device. And technical specifications of left-handed mice do not list whether the buttons are swapped in hardware.