La mayor comunidad de Debian en español

Configurar hotkeys para usar las teclas extra del teclado


Imagen de longo

By longo- Publicado23 Junio 2006

Llevo tres años usando Debian y nunca había sido capaz de usar las teclas adicionales qu incluía mi teclado. Había instaldo hotkeys pero no tenía soporte para mi Genius KB-0210... Y ayer investingando un poco (sólo hacía falta leerse el man de hotkeys XD) descubrí que era muy fácil crear un fichero de configuración específico para mi teclado.

Hotkeys guarda las definiciones de los teclados en el direcotio /usr/share/hotkeys/ con extensión .def. Viendo la estructura del archivo es simple reconocer que a cada tecla se la asigna una función en función de su keycode. Ahora sólo nos queda saber que keycode tienen las teclas extra.

Descubrirlo es tan fácil como ejecutar el programa 'xev'. Veremos que aparece una nueva ventana y un montón de letras en la consola.Pinchamos en la ventana y pulsamos un tecla de la cual queramos saber su código. Pulsamos por ejemplo la tecla MyComputer y en la consola aparece algo del estilo:

KeyPress event, serial 29, synthetic NO, window 0x2c00001,
    root 0xa3, subw 0x2c00002, time 21589422, (37,42), root:(878,131),
    state 0x0, keycode 232 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

Lo que nos interesa es la tercera línea en la cual indentificamos la tecla MyComputer con el código 232.
Lo que haremos a continuación es crear un archivo llamado tuteclado.def e iremos editando los keycodes de cada tecla.Como ejemplo os pongo mi archivo de configuración (kb210.def):

<?xml version="1.0"?>

<definition>

  <config model="Genius KB-0210">

    <PrevTrack    keycode="144"/>
    <Stop         keycode="164"/>
    <Play         keycode="162"/>
    <NextTrack    keycode="153"/>


    <VolUp        keycode="176" adj="2"/>
    <VolDown      keycode="174" adj="2"/>
    <Mute         keycode="160"/>

    <Search       keycode="229"/>
    <WebBrowser   keycode="178"/>
    <MyComputer   keycode="235"/>
    <Calculator   keycode="161"/>
    <Favorites    keycode="230"/>
    <Email        keycode="236"/>


    <Sleep        keycode="223"/>

  </config>

</definition>

Bueno , ya tenemos todas las teclas reconocidas!!! Lo siguiente será editar el archivo /etc/hotkeys.conf.
En este fichero indicamos qué archivo de configuración emplear y las distintas acciones que se ejecutarán con cada tecla.

Con el paquete de Debian viene un fichero de configuración como ejemplo con todas las opciones con almohadillas.Lo que haremos es suprimir las almohadillas de las funciones que nos sean útiles y cambiar el comando que queramos ejecutar.Por ejempplo configuraremos la tecla 'Stop' para que pare la reproducción de amarok:


Stop= amarok -s

Y así con todas las funciones.Como veis el proceso ha sido asignarle un keycode a la función Stop a través del archivo tuteclado.def


Y luego asignarle una acción/comando a la función Stop


Stop= amarok -s

El archivo de configuración de teclado a emplear lo pasamos con la línea 'Kbd=tuteclado' . Se trata del nombre del archivo que hemos creado sin la extensión. Sólo queda ejecutar hotkeys como usuario normal (lo interesante sería que se ejecutase en cada inico de sesión y nunca como root, no entraré en detalles pues difiere de cada escritorio). Y ya tenemos las teclas extra funcionando (qué gozada poder bajar el volumen sin tener que abrir alsamixer...jaja!)
Saludos de Longo XD

Imagen de tritt

Eres el mas grande. Si te tuviese aqui al lado te daba un beso xD
Desde que dejé gnome+acme no habia vuelto a usar las teclas chungas del teclado porque no sabia como configurarlas.
Lo dicho, muchas gracias y además tu fichero de configuración vale perfectamente para mi teclado aún siendo nisu (windows 2000 kb-2616, si se llama así).
Saludos.

---
Blah, blah, blah. Leete las FAQ

Imagen de chacal

Respuesta a Eres el mas grande. Si

joe que dos, a ver leemos los man!! xD

---
La política de otra manera en enpleno.com --- Y más debian en yawag.org

Imagen de tritt

Respuesta a joe que dos, a ver

No podia leer los man porque ni siquiera sabia de la existencia de hotkeys :)
Saludos.

---
Blah, blah, blah. Leete las FAQ

Imagen de Beto

Respuesta a No podia leer los man

Yo si lo conocía gracias al portátil, porque hubo alguien por ahi que se hizo el .def para mi portátil y me rulan todas :D, auqnue no había pensao en hacerlo con el teclado del pc normal, ya que algunas las pilla las X, pero con el cambio a Xorg, me las descojona y no coinciden con lo que son en realidad.

talue!

---
Betor!

Imagen de longo

Vaya efusividad tritt XD...Gracias por las gracias jeje.
Con respecto a lo de los man... siempre se leen,pero a veces no con todo el detenimiento que se merecen porq son verdaderas obras de arte.
Un saludo a todos

Imagen de arroba1250

Hola pues tratando de seguir los pasos. Me lleve con la sorpresa que no encontre hotkeys.conf. Le di buscar en /etc/ pero nada.
Alguien sabe como puedo crearlo.
O no necesariamente esta, pero no lo encontre.
Gracias

Imagen de Point_to_null

Genial, es una de esas cosas que uno no necesita hasta que ve que se puede y cual util es.

Gracias por el dato

Imagen de longo

Si no tienes el archivo /etc/hotkeys.conf prueba a desinstalar el paquete junto con sus archivos de configuración 'apt-get remove --purge hotkeys' y vuelvelo a instalar.
Sino lo puedes crear manualmente, que es muy sencillo.En primer lugar necesitas una línea como la siguiente:
kbd=tuteclado
Donde 'tuteclado' es el mobre del archivo con las defniciones de teclado que has creado sin la extensión .def.
Luego para cada función del archivo .def creas una línea con el nombre de la función y el comando que quieres asociarle.Por ejemplo para Browser creas una línea como la siguiente:
Browser=firefox
En el man viene todas las funciones que se pueden usar en hotkeys.

Relacionado con Configurar hotkeys para usar las teclas extra del teclado