mywiki/linux/xbindkeys/xbindkeys.md

141 lines
4.0 KiB
Markdown
Raw Normal View History

2023-05-04 17:34:10 +02:00
# 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/)