domingo, 20 de julio de 2008

Archlinux + XFCE4 + Teclas multimedia

Hola, resulta que he instalado Arch con XFCE en mi portátil y no podía usar las teclas multimedia para el sonido. Así que trasteando he aprendido algunas cosas que quizás sirvan a otro.

El sistema X tiene tres eventos que son los que nos interesan: XF86AudioMute, XF86AudioLowerVolumen y XF86AudioRaiseVolume.

Si abrimos la configuración de atajos de teclado por defecto, podemos ver que hay 3 comandos asociados a estas tres opciones:
  • XF86AudioRaiseVolume: aumix -v+10
  • XF86AudioLowerVolume: aumix -v-10
  • XF86AudioMute: aumix -v0
Todo tiene bastante sentido, entonces ... ¿por qué no funciona?

Pues suponiendo que lo que tienes es una instalación limpia de arch, es por dos motivos fundamentales:
  1. Porque el paquete aumix no está instalado
  2. Porque los eventos XF86Audio* no están asociados a las teclas.
Solución:
El primer problema es sencillo de manejar con un pacman -S aumix-gtk
El segundo es igualmente sencillo pero hay que dar algunos pasos más:
  • Lo primero es ver los códigos de las teclas de sonido de nuestro teclado. Para eso utilizamos la utilidad xev y vemos los códigos al pulsar las teclas. En mi caso eran 160 para el mute, 174 para el lower y 176 para el raise.
  • Una vez que tenemos esto, editamos el fichero .Xmodmap en nuestro home agregando el siguiente contenido:
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume

  • El siguiente fichero a editar es el .xinitrc al que agregamos:
usermodmap=$HOME/.Xmodmap
if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi
exec startxfce4

Y teniendo en cuenta que en los atajos por defecto ya estaban asociado los eventos al reiniciar lo tendréis funcionando.