xbindkeys ..
sudo apt-get install xbindkeys
Xbindkeys è un programma molto versatile che ti consente di rimappare le chiavi molto facilmente. Utilizza un file di configurazione, il mio predefinito situato nella directory home, per modificare i collegamenti 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 si desidera creare il file contenente i valori predefiniti, utilizzare:
xbindkeys --defaults > $HOME/.xbindkeysrc
Che stampa i valori predefiniti in un file nascosto che si .xbindkeysrc
trova in home ( ~
).
Ora, per cambiare effettivamente i collegamenti delle chiavi, dobbiamo prima sapere qual è il nome o il keysym di quelle chiavi. xbindkeys
ci consente di utilizzare l' -k
handle per trovare il nome di una chiave o combinazione di tasti. Correre:
xbindkeys -k
E premere un tasto o una combinazione di tasti. L'output sarà qualcosa di simile a questo (quando si preme space):
"NoCommand"
m:0x10 + c:65
Mod2 + space
"No Command"
ci dice che al momento nessun comando è associato alla Spacechiave.
m:0x10 + c:65
Mod2 + space
Nome della combinazione chiave / chiave.
il file di configurazione ..
Consente di aprire il file di configurazione 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 gestita da xbindkeys
.
Finora l'unica riga non commentata è:
"xbindkeys_show"
control+shift + q
Questo estratto mostra la sintassi di base dei xbindkeys
comandi:
"Command to run (in quotes)"
key to associate with command (no quotes)
Come puoi vedere:
"xbindkeys_show"
control+shift + q
Esegue il comando xbindkeys_show
quando si preme Ctrl+ Shift+ q.
associare i tasti ai comandi ..
Ora proviamo ad associare alcune chiavi. Consiglio di cancellare l'intero file predefinito in modo che sia vuoto. Contiene combinazioni di tasti preimpostate che probabilmente non vuoi.
Ora diciamo che vuoi usare Ctrl+ bper aprire il tuo browser. Per prima cosa devi sapere qual è il nome o il keyym di Ctrl+ b. Come accennato in precedenza è possibile utilizzare xbindkeys -k
per trovare il nome di una o più chiavi, ma esiste un modo più semplice. Per combinazioni semplici come Ctrl+ bpuoi semplicemente usare:
Control+b
Molto più facile non è vero!
Ora trova il comando per il tuo browser preferito:
Ricorda la sintassi di prima? Il xbindkeys
comando per avviare Firefox (o l'altro tuo browser preferito) quando premi Ctrl+ bè:
"firefox"
Control+b
Ora inseriscilo 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+ bdovrebbe ora avviare il tuo browser!
associare le chiavi ad altri tasti ..
Se vuoi che un tasto della tua tastiera chiami un tasto diverso sulla tua tastiera, avrai bisogno di un software aggiuntivo in quanto xbindkeys
non lo supporta da solo. Conosco due programmi che possiamo usare xdotool
e xte
. Preferisco xte
quindi lo userò.
Installalo:
sudo apt-get install xautomation
La sintassi per xte
è così:
xte 'command key/mousebutton/xyCoordinates'
Esempi:
Per chiamare un singolo tasto premere: 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 'più tardi)
Per spostare il mouse: xte 'mousemove xCoordinate yCoordinate'
E altro! Leggereman xte
Ora che conosci il comando per simulare la pressione dei tasti puoi chiamarlo dal tuo xbindkeys
script, in questo modo:
"xte 'key b'"
Control+b
Come puoi immaginare, questo chiama xte 'key b'
quando si preme Ctrl+ b, che inserirà a bin qualsiasi documento su cui potresti attualmente lavorare.
Io cosa da notare, tuttavia, che xbindkeys
e xte
non sempre funzionano molto bene insieme. A volte è necessario premere i tasti esattamente allo stesso tempo per ottenere l'output, altre volte funziona perfettamente. Questo potrebbe non avere a che fare con la configurazione del sistema e / o l'hardware .. Non ne sono sicuro. Vedi la risposta di maggotbrain per un modo più affidabile di associare le chiavi ad altre chiavi.
associa i pulsanti del mouse ai comandi ..
È inoltre possibile utilizzare xbindkeys
per associare i pulsanti del mouse ai comandi (e quindi le scorciatoie da tastiera, vedere sopra). Il formato di base per i pulsanti del mouse dovrebbe esserti familiare ora:
" [command to run] "
b:n
Dov'è [command to run]
il comando che si desidera eseguire e n
il numero del pulsante del mouse che si desidera utilizzare per quel comando.
Se non conosci il numero del pulsante del mouse che puoi utilizzare xev
per scoprire di cosa si tratta:
xev | grep button
L'output sarà qualcosa del genere:
user@host:~$ 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.
Per esempio:
" firefox "
b:2
Avvia Firefox quando premo il pulsante centrale del mouse.