Cómo configurar las teclas para darle funciones específicas a cada una de ellas?

Esto es tan fácil como complicado… si te pones a investigar no acabarás nunca… se supone que cada botón tiene un código… e072, e071, ese código lo puedes obtener con “showkey -s” (teoría porque no le entiendo nada a la salida aún… a menos que debamos transformar el código de HEX a español), pero bueno, se supone que “showkey -k” nos muestra la actual tarea que hace nuestro botón, se supone que con “setkeycodes e071 150” estaríamos enlazando el botón de código e071 con la función 150 del kernel, esa función la podemos ver en “/usr/include/linux/input.h”, si le haces un cat a ese archivo y pones un grep para extraer sólo que lo que buscas, por ejemplo:

“cat /usr/include/linux/input.h|grep 150”

con eso podrás ver que función cumple… de todas maneras si tienes botones que no hacen nada, revisa el archivo “/var/log/messages” para ver que código produce el botón y darle una función, yo les puse “abrir navegador” y “expulsar CD”… lo malo es que si lo configuras, sólo durará hasta que reinicies…

Así que para dar permanente, podemos hacer uso de /etc/rc.local
para que quede de manera permanente…
en mi caso, /var/log/messages dice:

Sep 18 03:26:49 gateway kernel: atkbd.c: Unknown key pressed (translated set 2, code 0xf1 on isa0060/serio0).
Sep 18 03:26:49 gateway kernel: atkbd.c: Use ‘setkeycodes e071 ‘ to make it known.
Sep 18 03:26:49 gateway kernel: atkbd.c: Unknown key released (translated set 2, code 0xf1 on isa0060/serio0).
Sep 18 03:26:49 gateway kernel: atkbd.c: Use ‘setkeycodes e071 ‘ to make it known.

Yo hago:
cat /usr/include/linux/input.h

Busco la función
#define KEY_WWW 150 /* AL Internet Browser */

Y:
setkeycodes e071 150

Voilà!
Al presionar el botón tendremos funcionando la función que hemos dado…
Claro, también está xmodmap el cual en teoría debería dar las funciones del Xorg, pero a mi no me funcionaron ni por si acaso… sólo las del kernel… aunque debo decir que tengo unas teclas con problemas… la del Touchpad no tiene asignada una tarea, y HAL no informa que tenga una función asignada… pero aún así bloquea el touchpad y lo mata… hasta suspender y resumir y vuelve a funcionar como debe… este bug lo estoy tratando en el Bugtrack de Fedora…
https://bugzilla.redhat.com/show_bug.cgi?id=635219