====== Ubuntu - Mouse - Map Mouse Buttons ====== In most cases, * Buttons 1, 2, 3 are interpreted as left, middle, right. * Logical buttons 4, 5, 6, 7 are usually interpreted as scroll up, down, left, right. * The fourth and fifth physical buttons on a device will thus send logical buttons 8 and 9. ---- * [[Ubuntu:Mouse:Determine the Mouse|Determine the Mouse]]. * [[Ubuntu:Mouse:Determine the Mouse Button Numbers|Determine the Mouse Button Numbers]] ---- ===== Map a Mouse Button to Another Button ===== This can be useful for changing the mouse for left-handed people. * The left and right buttons could be swapped around (the 3 and 1 are switched). xinput set-button-map 8 3 2 1 4 5 6 7 8 9 **NOTE:** The initial **8** is the Mouse Id as determined above. * The remaining **3 2 1 4 5 6 7 8 9** is the 9 mouse buttons as determined above. * Usually this would be in the order **1 2 3**, where * **1**: is the left mouse button. * **2**: is the middle mouse button. * **3**: is the right mouse button. * Here, button 3 is swapped with button 1. * This means that when the actual left button on the mouse is clicked it results in a right-click. * Also, clicking on the actual right mouse button results in a left-click. ---- ===== Disable a Specific Mouse Buttons ===== xinput set-button-map 8 1 0 3 4 5 6 7 8 9 **NOTE:** The initial **8** is the Mouse Id as determined above. * The remaining **1 0 3 4 5 6 7 8 9** is the 9 mouse buttons as determined above. * Here, button 2 is replaced by a zero. * This disables this button. ---- ====== Run at startup ====== One approach is to create a shell script that performs the Mouse Button mapping: echo "xinput --set-button-map 21 3 2 1" > leftmouseremap.sh Give it executable permission: chmod +x leftmouseremap.sh **NOTE:** Either run the script manually, or configure it to automatically run on system reboot. * Follow any process to have this script run at boot if needed. * Remember to configure 'xbindkeys' to run automatically on system startup too if needed: * '/usr/bin/xbindkeys' ---- ===== References ===== http://manpages.ubuntu.com/manpages/focal/man1/xev.1.html https://linux.die.net/man/7/xautomation https://manpages.debian.org/stretch/xautomation/xte.1