xbindkeys ..
sudo apt-get install xbindkeys
Xbindkeys è un programma molto versatile che ti consente di rimappare le chiavi molto facilmente. Usa un file di configurazione, il mio predefinito che si trova nella tua home directory, per cambiare le associazioni dei tasti in determinati comandi.
Per creare un file di configurazione predefinito, utilizzare il comando:
xbindkeys --defaults
Che stampa il file di configurazione predefinito. Quindi se vuoi creare il file contenente i valori predefiniti che useresti:
xbindkeys --defaults > $HOME/.xbindkeysrc
Che stampa i valori predefiniti in un file nascosto denominato .xbindkeysrc
situato in home ( ~
).
Ora per modificare in realtà i collegamenti dei tasti dobbiamo prima sapere quale sia il nome o il keysym di quei tasti. xbindkeys
ci consente di utilizzare l'handle -k
per trovare il nome di una chiave o combinazione di tasti. Esegui:
xbindkeys -k
E premere un tasto o una combinazione di tasti. L'output mostrerà qualcosa simile a questo (quando si preme space ):
"NoCommand"
m:0x10 + c:65
Mod2 + space
"No Command"
ci dice che attualmente nessun comando è associato alla chiave Spazio .
m:0x10 + c:65
Mod2 + space
È il nome della combinazione chiave / chiave.
il file di configurazione ..
Consente di aprire il file di configurazione che hai creato in precedenza:
gedit .xbindkeysrc
Ecco un estratto dal file di configurazione predefinito:
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
# Mod3 (CapsLock), Mod4, Mod5 (Scroll).
#
# The release modifier is not a standard X modifier, but you can
# use it if you want to catch release events instead of press events
# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.
#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable
# Examples of commands:
"xbindkeys_show"
control+shift + q
Ogni riga che inizia con #
è un commento e non verrà letta o eseguita da xbindkeys
.
Finora l'unica linea che non è stata commentata è:
"xbindkeys_show"
control+shift + q
Questo estratto mostra la sintassi di base dei comandi xbindkeys
:
"Command to run (in quotes)"
key to associate with command (no quotes)
Quindi, come puoi vedere:
"xbindkeys_show"
control+shift + q
Esegue il comando xbindkeys_show
quando si preme Ctrl + Maiusc + q .
associa i tasti ai comandi ..
Ora proviamo a collegare alcuni tasti. Raccomando di cancellare l'intero file predefinito in modo che sia vuoto. Contiene associazioni di tasti preimpostate che probabilmente non si desidera.
Ora diciamo che vuoi usare Ctrl + b per aprire il tuo browser. Per prima cosa devi sapere quale sia il nome o keysym di Ctrl + b . Come accennato in precedenza puoi usare xbindkeys -k
per trovare il nome di una chiave o di una chiave, ma c'è un modo più semplice. Per combinazioni semplici come Ctrl + b puoi semplicemente usare:
Control+b
Molto più facile non è vero!
Ora trova il comando per il tuo browser preferito:
Ricorda la sintassi di prima? Il comando xbindkeys
per avviare Firefox (o il tuo altro browser preferito) quando premi Ctrl + b è:
"firefox"
Control+b
Ora mettilo nel tuo file di configurazione e salvalo. Ora potresti notare che il tuo comando non funziona ancora, perché xbindkeys
non è in esecuzione. Per avviarlo basta eseguire xbindkeys
da un terminale. Il tuo Ctrl + b dovrebbe ora avviare il tuo browser!
associa i tasti ad altri tasti ..
Se vuoi che un tasto sulla tua tastiera chiami un tasto diverso sulla tastiera, avrai bisogno di un ulteriore software in quanto xbindkeys
non lo supporta da solo. Conosco due programmi che possiamo usare, xdotool
e xte
. Preferisco xte
quindi utilizzerò quello.
Installalo:
sudo apt-get install xautomation
La sintassi per xte
è la seguente:
xte 'command key/mousebutton/xyCoordinates'
Esempi:
-
Per chiamare un singolo tasto, premi: xte 'key keyName'
-
Per chiamare una combinazione di tasti: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName
-
Per chiamare un pulsante del mouse: xte 'mouseclick buttonNumber'
(discuteremo di trovare i numeri dei pulsanti un po 'ultimi)
-
Per spostare il mouse: xte 'mousemove xCoordinate yCoordinate'
-
E altro ancora! Leggi man xte
Ora che conosci il comando per simulare la pressione di un tasto, puoi chiamarlo dallo script xbindkeys
, in questo modo:
"xte 'key b'"
Control+b
Come puoi immaginare, questo chiama xte 'key b'
quando premi Ctrl + b , che inserirà un b in qualsiasi documento tu potrebbe essere attualmente in lavorazione.
Tuttavia, devo notare che xbindkeys
e xte
non funzionano sempre molto bene insieme. A volte devi premere i tasti esattamente allo stesso tempo per ottenere l'output, altre volte funziona perfettamente. Questo può o non può avere a che fare con la configurazione del sistema e / o l'hardware .. Non sono sicuro. Vedi la risposta di maggotbrain per un modo più affidabile di legare le chiavi ad altre chiavi.
associa i pulsanti del mouse ai comandi ..
Puoi anche usare xbindkeys
per associare i pulsanti del mouse ai comandi (e quindi alle scorciatoie da tastiera, vedi sopra). Il formato di base per i pulsanti del mouse dovrebbe esserti familiare ora:
" [command to run] "
b:n
Dove [command to run]
è il comando che si desidera eseguire e n
il numero del pulsante del mouse che si desidera utilizzare per tale comando.
Se non conosci il numero del tuo pulsante del mouse, puoi utilizzare xev
per scoprire di cosa si tratta:
xev | grep button
L'output sarà simile a questo:
[email protected]:~$ xev | grep button
state 0x10, button 1, same_screen YES
state 0x110, button 1, same_screen YES
state 0x10, button 2, same_screen YES
state 0x210, button 2, same_screen YES
state 0x10, button 3, same_screen YES
state 0x410, button 3, same_screen YES
Quando premo ciascuno dei miei pulsanti del mouse.
Ad esempio:
" firefox "
b:2
Avvia firefox quando premo il pulsante centrale del mouse.