Posted by: Camilo Torres | January 17, 2009

Teclas multimedia en Debian con Toshiba Satellite A215-S7407

Una de las cosas que faltaban por poner a funcionar luego de la instalación de Debian en la Toshiba Satellite A215-S7407 eran las teclas multimedia.

Decidí usar una tecla para abrir el navegador Konqueror, porque era lo mismo que hacía Ubuntu con esa tecla. Otra tecla sería para abrir el reproductor de vídeo Kaffeine, las demás teclas las usaría para controlar la reproducción de música con Amarok.

También planeaba usar las teclas de funciones que trae la computadora (la tecla Fn + teclas normales) y por último poner a funcionar la rueda que controla el volumen.

Básicamente los pasos son:

  • conseguir los códigos que manda el teclado para las teclas especiales,
  • hacer un mapa entre los códigos del teclado y los que reconoce X,
  • cargar el mapa automáticamente al hacer login,
  • usar en KDE.

Para ponerlo a funcionar con KDE no hace falta ser root y el procedimiento es el siguiente:

Buscar los códigos de las teclas.
Abrir una consola y ejecutar el programa xev, este abrirá una pantallita y comenzará a mostrar códigos de todas las teclas que se pulsen, en mi caso al pulsar la tecla multimedia que se usa para detener la música me arroja lo siguiente:

KeyRelease event, serial 31, synthetic NO, window 0x3c00001,
    root 0x4b, subw 0x0, time 1744593, (1223,-197), root:(1227,374),
    state 0x0, keycode 164 (keysym 0x1008ff15, XF86AudioStop), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Lo importante de todo esto es la parte que dice ‘keycode 164’, significa que la tecla genera el código 164. Hay que pulsar todas las teclas especiales que queramos capturar y anotar sus códigos correspondientes. Lo mismo se hace para la rueda del volumen, porque en esta computadora esa rueda genera códigos como si se pulsara una tecla en el teclado, genera un código para subir volumen y otro distinto para bajar volumen.

Una vez que tenga todos los códigos cierra el programa xev.

Crear el mapa entre los codigos del teclado y los de X
Ahora se crea un archivo con un mapa entre los códigos de las teclas que anotamos previamente con la ayuda de xev y los nombres o códigos que reconoce X (el gestor gráfico), y lo guardamos en nuestro directorio como ~/.Xmodmap con un contenido similar a:

! Teclas para Toshiba Satellite A215-S7407

keycode 178 = XF86Explorer
keycode 164 = XF86AudioStop
keycode 162 = XF86AudioPlay
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 176 = XF86AudioRaiseVolume
keycode 174 = XF86AudioLowerVolume

Los keycode son los que nos retornó xev. Los nombres a la derecha son los que reconoce X y para ver una lista de todos los que pueden ser usados mire el archivo /usr/share/X11/XKeysymDB que allí están todos los que soporta X para una instalación determinada.

Cargar le mapa automáticamente al hacer login
Luego, en KDE vamos a crear un archivo de comandos ejecutable dentro de nuestro directorio home, sin necesidad de ser root, para poner a funcionar las teclas: crear el archivo ~/.kde/Autostart/teclas_multimedia y editarlo. Aquí se va a cargar el mapa de teclas y se vana configurar esas teclas para que no tengan repetición y de esa forma cada tecla enviará solo una señal a la vez aunque se deje pulsada unos instantes:

#!/bin/bash
/usr/bin/xmodmap ~/.Xmodmap
/usr/bin/xset -r 178 -r 164 -r 162 -r 144 -r 153 -r 176 -r 174 -r 160

Luego hay que darle permiso de ejecución al archivo, porque es un programa: chmod +x ~/.kde/Autostart/teclas_multimedia.

Listo, cierre la sesión y vuelva a entrar o hacer login. En mi caso KDE tomó automáticamente algunas teclas de funciones, como la tecla de enmudecer el volumen y también tomó automáticamente la rueda del control de volumen.

Usar las teclas en KDE
Para poner a funcionar la tecla que abre el navegador Konqueror entré en el menú K -> Preferencias ->Regional y Accesibilidad -> Accesos Rápidos del Teclado. En la pestaña Atajos de Ordenes busqué Konqueror y le configuré la tecla especial, es muy fácil hacerlo.

Para las demaś teclas multimedia entré en Amarok directamente, menú Preferencias -> Configurar accesos rápidos globales y allí se pueden configurar muy fácilmente.

Como se ve es fácil y todo el trabajo puede tomar quizás unos 20 minutos o media hora.

Reto pendiente
Lo único que me queda pendiente es una tecla de función que serviría para abrir el reproductor de películas Kaffeine. Esta tecla no me arrojó ningún código con xev, lo que puede significar una de dos cosas: o la tecla no sirve, o X no la reconoce (por ahora…).

Referencias
Me guié por esta wiki de Gentoo:
http://en.gentoo-wiki.com/wiki/Multimedia_Keys


Responses

  1. Muchísimas gracias por tu guía, me ha servido al completo. Además, tengo un Toshiba A200 y hasta nos coinciden los códigos de las teclas.

    También tengo el problema de que la tecla que debe abrir el reproductor multimedia no retorna ningún valor, por lo que la tengo sin configurar. ¿Has conseguido solventar eso?

    He encontrado, no obstante, otra método para configurar las telcas multimedia mediante hotkeys, que parece más fácil a simple vista. Lo he probado y también funciona. Está en esta dirección:

    http://www.esdebian.org/configuracion/23903/configurar-hotkeys-usar-teclas-extra-teclado


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: