mywiki/linux/xbindkeys/xbindkeys.md

141 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# xbindkeys
## Rimappare tastiera e mouse
Installare i seguenti pacchetti:
```bash
sudo apt install xbindkeys xvkbd
```
Quindi creare il seguente file nella propria home:
```bash
cd
touch .xbindkeysrc
```
### Rimappare i pulsanti del mouse
Dare il seguente comando:
```bash
xev -event button
```
Quindi, all'interno del riquadro della finestra che si apre, cliccare i pulsanti del mouse. Vengono sempre intercettati due eventi, la pressione e il rilascio del pulsante.
Nel esempio sottostante, il **pulsante 1** corrisponde al click sinistro del mouse
```md
xev -event button
Outer window is 0x7400001, inner window is 0x7400002
ButtonPress event, serial 25, synthetic NO, window 0x7400001,
root 0x6be, subw 0x7400002, time 24648844, (40,43), root:(1006,608),
state 0x0, button 1, same_screen YES
ButtonRelease event, serial 25, synthetic NO, window 0x7400001,
root 0x6be, subw 0x7400002, time 24648916, (40,43), root:(1006,608),
state 0x100, button 1, same_screen YES
```
In questo modo è possibile assegnare dei comandi ai vari bottoni e pulsanti del mouse.
Per il Logitech MX Ergo questa è la mappatura:
| Numero | Pulsante |
|--------|--------------------------------------|
| 1 | click sinistro |
| 2 | pulsante centrale (click su rotella) |
| 3 | click destro |
| 4 | rotella su |
| 5 | rotella giù |
| 6 | rotella a sinistra |
| 7 | rotella a destra |
| 8 | pulsante indietro |
| 9 | pulsante avanti |
[Qui](https://www.alternativalinux.it/assegnare-bottoni-mouse-in-linux-mint/) maggiori informazioni su come rimappare i pulsanti del mouse nel file `.xbindkeys`.
Ecco alcuni semplici esempi:
```bash
# Lanciare firefox con il bottone 9
"firefox"
m:0x0 + b:9
# Scrivere formula di chiusura con B9
"xvkbd -text "Cordiali saluti\rDavide.""
m:0x0 + b:9
```
Dopo aver rimappato i pulsanti nel file `.xbindkeys`, uccidere e riavviare il processo:
```bash
killall xbindkeys
xbindkeys
```
### Rimappare la tastiera
Per visualizzare come specificare la combinazione di tasti scelta per avviare un comando si può utilizzare:
```bash
xbindkeys -k
```
Digitando una combinazione di tasti, ad esempio `control+shift+t`, appariranno a terminale uno o due modi per indicare correttamente la combinazione di tasti allinterno del file `.xbindkeysrc`.
```bash
xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"NoCommand"
m:0x5 + c:28
Control+Shift + t
```
Nella prima riga *NoCommand* andrà precisato il comando da avviare.
La seconda riga e anche la terza, sicuramente più intellegibile, presentano la combinazione usata.
## Esempio di configurazione
```bash
cat .xbindkeysrc
# print pipe
"xvkbd -xsendevent -text "|""
m:0x5 + c:30
# Control+Shift + u
# stamp
"flameshot gui"
m:0x5 + c:33
Control+Shift + p
#\r per Invio
#\t per tasto TAB
#\b per backspace cioè leliminazione dellultimo carattere digitato
#\e per Esc
#\d per Canc o Del
#\S per Maiuscolo o Shift
#\C per CTRL
#\A per Alt
#\M per il tasto Meta
#\W per il tasto Windows
#\[F1] per simulare un tasto funzione
#\[End] per simulare il tasto fine
#\[Prior] simula il tasto Pag Su
#\[Next] simula il tasto Pag Giù
#\[Print] per il tasto stamp o PrintScreen (esegue uno screenshot)
```
## Collegamenti
- [https://www.alternativalinux.it/assegnare-bottoni-mouse-in-linux-mint/](https://www.alternativalinux.it/assegnare-bottoni-mouse-in-linux-mint/)
- [https://medium.com/@Aenon/bind-mouse-buttons-to-keys-or-scripts-under-linux-with-xbindkeys-and-xvkbd-7e6e6fcf4cba](https://medium.com/@Aenon/bind-mouse-buttons-to-keys-or-scripts-under-linux-with-xbindkeys-and-xvkbd-7e6e6fcf4cba)
- [https://mauriziosiagri.wordpress.com/tag/xbindkeys-config/](https://mauriziosiagri.wordpress.com/tag/xbindkeys-config/)