xbindkeys ..
sudo apt-get install xbindkeys
Xbindkeys es un programa muy versátil que te permite reasignar teclas muy fácilmente. Utiliza un archivo de configuración, mi valor predeterminado ubicado en su directorio de inicio, para cambiar las asociaciones de teclas en ciertos comandos.
Para crear un archivo de configuración predeterminado, use el comando:
xbindkeys --defaults
Que imprime el archivo de configuración predeterminado. Entonces, si desea crear el archivo que contiene los valores predeterminados que usaría:
xbindkeys --defaults > $HOME/.xbindkeysrc
Que imprime los valores predeterminados en un archivo oculto llamado .xbindkeysrc
ubicado en home ( ~
).
Ahora, para cambiar realmente los enlaces de las teclas, primero necesitamos saber cuál es el nombre o la clave de esas teclas. xbindkeys
nos permite usar el -k
identificador para encontrar el nombre de una tecla o combinación de teclas. Correr:
xbindkeys -k
Y presione una tecla o combinación de teclas. Su salida será algo similar a esto (al pulsar space):
"NoCommand"
m:0x10 + c:65
Mod2 + space
"No Command"
nos dice que actualmente no hay ningún comando asociado con la Spacetecla.
m:0x10 + c:65
Mod2 + space
Es el nombre de la clave / combinación de teclas.
el archivo de configuración ...
Vamos a abrir el archivo de configuración que creó anteriormente:
gedit .xbindkeysrc
Aquí hay un extracto del archivo de configuración predeterminado:
#
# 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
Cada línea que comienza #
es un comentario y no se leerá ni ejecutará xbindkeys
.
Hasta ahora, la única línea que no está comentada es:
"xbindkeys_show"
control+shift + q
Este extracto muestra la sintaxis básica de los xbindkeys
comandos:
"Command to run (in quotes)"
key to associate with command (no quotes)
Entonces como puedes ver:
"xbindkeys_show"
control+shift + q
Ejecuta el comando xbindkeys_show
cuando presiona Ctrl+ Shift+ q.
asociar teclas a comandos ...
Ahora intentemos vincular algunas teclas. Recomiendo borrar todo el archivo predeterminado para que quede en blanco. Contiene enlaces de teclas preestablecidos que probablemente no desee.
Ahora supongamos que desea usar Ctrl+ bpara abrir su navegador. Primero, necesita saber cuál es el nombre o keyym de Ctrl+ b. Como se mencionó anteriormente, puede utilizar xbindkeys -k
para encontrar el nombre de una o varias claves, pero hay una manera más fácil. Para combinaciones simples como Ctrl+ bpuedes usar:
Control+b
Mucho más fácil, ¿no?
Ahora encuentre el comando para su navegador favorito:
¿Recuerdas la sintaxis de antes? El xbindkeys
comando para iniciar Firefox (o su otro navegador favorito) cuando presiona Ctrl+ bes:
"firefox"
Control+b
Ahora ponga eso en su archivo de configuración y guárdelo. Ahora puede notar que su comando aún no funciona, porque xbindkeys
no se está ejecutando. Para comenzar, simplemente ejecute xbindkeys
desde una terminal. ¡Tu Ctrl+ bahora debería iniciar tu navegador!
asociar claves a otras claves ..
Si desea que una tecla en su teclado llame a una tecla diferente en su teclado, necesitará una pieza adicional de software, ya xbindkeys
que no lo admite por sí solo. Sé de dos programas que podemos usar, xdotool
y xte
. Prefiero, xte
así que voy a usar eso.
Instalarlo:
sudo apt-get install xautomation
La sintaxis para xte
es así:
xte 'command key/mousebutton/xyCoordinates'
Ejemplos:
Para llamar a una sola tecla, presione: xte 'key keyName'
Para llamar a una combinación de teclas: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName
Para llamar a un botón del mouse: xte 'mouseclick buttonNumber'
(Discutiremos la búsqueda de números de botón un poco más tarde)
Para mover el mouse: xte 'mousemove xCoordinate yCoordinate'
¡Y más! Leerman xte
Ahora que conoce el comando para simular pulsaciones de teclas, puede llamarlo desde su xbindkeys
script, de esta manera:
"xte 'key b'"
Control+b
Como puede suponer, esto llama xte 'key b'
cuando presionamos Ctrl+ b, lo que ingresaría un ben cualquier documento en el que esté trabajando actualmente.
Yo que hay que señalar es que sin embargo xbindkeys
y xte
no siempre funcionan muy bien juntos. A veces tiene que presionar las teclas exactamente al mismo tiempo para obtener la salida, otras veces funciona bien. Esto puede o no tener que ver con la configuración del sistema y / o hardware ... No estoy seguro. Vea la respuesta de maggotbrain para una forma más confiable de vincular claves a otras claves.
atar los botones del mouse a los comandos ...
También puede usar xbindkeys
para enlazar los botones del mouse a los comandos (y desde allí los atajos de teclado, ver arriba). El formato básico para los botones del mouse debería serle familiar ahora:
" [command to run] "
b:n
¿Dónde [command to run]
está el comando que desea ejecutar y n
el número del botón del mouse que desea utilizar para ese comando?
Si no sabe el número de su botón del mouse, puede usarlo xev
para averiguar cuál es:
xev | grep button
La salida será algo como esto:
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
Cuando presiono cada uno de los botones de mi mouse.
Por ejemplo:
" firefox "
b:2
Inicia firefox cuando presiono el botón central del mouse.