ubuntu:mouse:map_mouse_buttons
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ubuntu:mouse:map_mouse_buttons [2021/10/25 11:31] – peter | ubuntu:mouse:map_mouse_buttons [2021/10/26 14:07] (current) – peter | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Ubuntu - Mouse - Map Mouse Buttons ====== | ====== 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: | * [[Ubuntu: | ||
Line 6: | Line 14: | ||
---- | ---- | ||
- | ===== Map the Mouse Buttons | + | ===== 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). | ||
<code bash> | <code bash> | ||
- | xinput set-button-map 8 1 0 3 4 5 6 7 8 9 | + | xinput set-button-map 8 3 2 1 4 5 6 7 8 9 |
</ | </ | ||
Line 15: | Line 27: | ||
**NOTE: | **NOTE: | ||
- | * The remaining **1 0 3 4 5 6 7 8 9** is the 9 mouse buttons as determined above. | + | * The remaining **3 2 1 4 5 6 7 8 9** is the 9 mouse buttons as determined above. |
- | * Here, button 2 is replaced by a zero. | + | * Usually this would be in the order **1 2 3**, where |
- | * This disables this button. | + | * **1**: is the left mouse button. |
+ | * **2**: is the middle mouse button. | ||
+ | * **3**: is the right mouse button. | ||
- | * For left-handed people, the left and right buttons could be swapped around (the 3 and 1 are switched). | + | * Here, button 3 is swapped with button 1. |
- | * **3 2 1 4 5 6 7 8 9** | + | * This means that when the actual |
+ | * Also, clicking on the actual right mouse button results in a left-click. | ||
</ | </ | ||
Line 27: | Line 42: | ||
---- | ---- | ||
- | ===== Mapping | + | ===== Disable a Specific |
- | + | ||
- | ==== Install xbindkeys | + | |
<code bash> | <code bash> | ||
- | sudo apt install xbindkeys | + | xinput set-button-map 8 1 0 3 4 5 6 7 8 9 |
</ | </ | ||
- | |||
- | ---- | ||
- | |||
- | ==== Install xautomation ==== | ||
- | |||
- | <code bash> | ||
- | sudo apt install xautomation | ||
- | </ | ||
- | |||
- | ---- | ||
- | |||
- | ==== Create the xbindkeys Configuration File ==== | ||
- | |||
- | <code bash?> | ||
- | xbindkeys --defaults > $HOME/ | ||
- | </ | ||
- | |||
- | ---- | ||
- | |||
- | ==== Edit the xbindkeys Configuration File ==== | ||
- | |||
- | Edit **~/ | ||
- | |||
- | * To create a double-click event when button 8 is released, add the following: | ||
- | |||
- | <file bash ~/ | ||
- | "/ | ||
- | b:8 + Release | ||
- | </ | ||
<WRAP info> | <WRAP info> | ||
- | **NOTE: | + | **NOTE: |
- | * The first line is a command to be executed for an event; | + | * The remaining **1 0 3 4 5 6 7 8 9** is the 9 mouse buttons as determined above. |
- | | + | |
- | Here, the **xte** component of xautomation to send events directly to the input handler. | + | * Here, button |
- | </ | + | * This disables this button. |
- | + | ||
- | ---- | + | |
- | + | ||
- | ==== Additional xbindkeys Configurations ==== | + | |
- | + | ||
- | Here are some examples of additional entries. | + | |
- | + | ||
- | <file bash ~/ | + | |
- | # Back changed to Copy | + | |
- | "xte ' | + | |
- | b:8 | + | |
- | + | ||
- | # Forward | + | |
- | "xte ' | + | |
- | b:9 | + | |
- | </ | + | |
- | + | ||
- | <WRAP info> | + | |
- | **NOTE: | + | |
- | + | ||
- | * Back button: 8 | + | |
- | * When Button 8 on the mouse is pressed, send a CTRL-C followed | + | |
- | + | ||
- | | + | |
- | * When Button 9 on the mouse is pressed, send a ALT followed by a Key up. | + | |
</ | </ | ||
Line 102: | Line 60: | ||
---- | ---- | ||
- | ===== Run at startup ===== | + | ====== Run at startup |
One approach is to create a shell script that performs the Mouse Button mapping: | One approach is to create a shell script that performs the Mouse Button mapping: | ||
Line 125: | Line 83: | ||
</ | </ | ||
- | |||
- | |||
- | |||
ubuntu/mouse/map_mouse_buttons.1635161474.txt.gz · Last modified: 2021/10/25 11:31 by peter