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 .xbindkeysrctrova in home ( ~).
Ora, per cambiare effettivamente i collegamenti delle chiavi, dobbiamo prima sapere qual è il nome o il keysym di quelle chiavi. xbindkeysci consente di utilizzare l' -khandle 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 xbindkeyscomandi:
"Command to run (in quotes)"
key to associate with command (no quotes)
Come puoi vedere:
"xbindkeys_show"
control+shift + q
Esegue il comando xbindkeys_showquando 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 -kper 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 xbindkeyscomando 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é xbindkeysnon è in esecuzione. Per avviarlo basta eseguire xbindkeysda 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 xbindkeysnon lo supporta da solo. Conosco due programmi che possiamo usare xdotoole xte. Preferisco xtequindi 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 xbindkeysscript, 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 xbindkeyse xtenon 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 xbindkeysper 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 nil numero del pulsante del mouse che si desidera utilizzare per quel comando.
Se non conosci il numero del pulsante del mouse che puoi utilizzare xevper 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.