Dando vida a las teclas extra


No se si os pasará a vosotros, pero a mi me molesta mucho tener cosas inútiles, y la cuestión es que recientemente he conseguido un teclado Logitech Deluxe Access que tiene tres botoncitos sobre los cursores, pero nunca he conseguido utilizar estos botones. Bueno, hasta ahora…

El método es independiente del entorno de ventanas o del escritorio que utilicéis. Yo lo he probado con las KDE y funciona. Agradecería que si alguien lo utiliza en otro entorno (gnome, sawfish, enlightment, etc.), reporte sus experiencias.
Bueno, es más fácil de lo que parece (una vez se ha encontrado el truco). Primero veamos si las X reciben los eventos de las teclas en cuestión. En principio no debe haber problemas, sólo es para asegurarnos. Para ello, abrimos una consola desde el entorno de ventanas y ejecutamos xev. Saldrá un texto bastante grande al que no es necesario prestarle atención.
Ahora, pulsaremos una de las teclas “extra” y la salida del xev debería ser algo así (esta es la salida al pulsar la tecla de www en mi teclado Logitech):

KeyPress event, serial 27, synthetic NO, window 0x1e00001,
root 0x5a, subw 0x0, time 3631078724, (349,488), root:(353,511),
state 0x10, keycode 178 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 characters: “”

KeyRelease event, serial 27, synthetic NO, window 0x1e00001,
root 0x5a, subw 0x0, time 3631079008, (349,488), root:(353,511),
state 0x10, keycode 178 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 characters: “”

Resaltado está lo que nos interesa. Estos mensajes nos indican que la tecla con el código 178 (keycode 178) ha sido pulsada (KeyPress event) y soltada (KeyRelease event). Esto lo podemos probar con el resto de botones.
Ahora que sabemos que las X saben cuando utilizamos las teclas extra, vamos ha hacer que se ejecute un script diferente según la tecla que pulsemos. Para ello instalaremos el paquete xbindkeys. En Debian (provado en Sid) basta con un simple: apt-get install xbindkeys xbindkeys-config
Ahora ejecutaremos xbindkeys-config, que es una utilidad gráfica para configurar el xbindkeys.
Para añadir una nueva tecla rápida, debemos seguir el siguiente procedimiento básico:

  • hacemos click sobre el botón New que está en la parte inferior de la ventana.
  • En el campo Name le daremos un nombre a este botón.
  • Luego pulsaremos el botón Get Key, y cuando aparece la ventana XbindKeys: Hit a key, pulsamos la tecla que queremos asociar.
  • En el campo de texto Action escribimos el comando que queremos que se ejecute al pulsar esa tecla.
  • Repetimos el procedimiento con las otras teclas.
  • Guardamos y salimos: Save & Apply & Exit
  • Esto nos creará un fichero de configuración para la aplicación xbindkeys. El mío tiene el siguiente aspecto:

    #keystate_numlock = enable
    #keystate_scrolllock = enable
    #keystate_capslock = enable

    #HomePage
    “kfmclient openProfile webbrowsing”
    m:0x0 + c:178
    NoSymbol

    #Correo
    “kmail”
    m:0x0 + c:236
    NoSymbol

    #Buscar
    “kfmclient openProfile webbrowsing http://www.google.com”
    m:0x0 + c:229
    NoSymbol

    Ahora en la consola ejecutaremos xbindkeys, y pulsando las teclas deberían ejecutarse los comandos que hemos definido.
    Finalmente, sólo falta ejecutar el xbindkeys cada vez que arranquemos el entorno de ventanas. Yo no he encontrado una manera estándar para que al arrancar un sistema de ventanas se ejecute siempre un script, si alguien sabe cómo, que me lo diga. Yo de momento, como uso KDE, tengo en el script ~/.kde/Autostart/xbindkeys:

    #!/bin/sh
    if [ -x /usr/bin/xbindkeys ]; then
    /usr/bin/xbindkeys
    fi

    Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1460 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.