I wrote this for a quasi-tutorial, so I will just cut and paste, as I don't have time. Press each multimedia key in turn. Should some not generate keycodes, the kernel will tell you about them: "cat /var/log/messages | grep atkbd". Type, "dumpkeys", to find out which keycodes are still available. Then, use setkeycodes to give each unknown key an arbitrary available code (eg., setkeycodes e03b 201). To make the keys known at boot, list a setkeycodes command for each unknown key in an executable file, then append '/path/to/unknownkeys.sh' to /etc/rc.d/rc.local (no quotes). Run the script or reboot. While working in KDE (or any graphical environment), run xev. Press each of the multimedia keys (the ones that had keycodes, as well as the ones you assigned keycodes). Note the X keycode for each key and map it to a suitable X keysym, if it isn't already mapped (the volume and mute keys might be), eg., keycode 162 = XF86AudioPlay. The names of all possible X keysyms are in /usr/share/X11/XKeysymDB, the relevant ones being near the end. List these key mappings in /etc/X11/Xmodmap. Note that KDE can use modifier keys to multiply the mapping possibilities, so there is no point in mapping more than one X keysym to a key. Next, put an executable script, containing only the line 'xmodmap /etc/X11/Xmodmap', into your .kde/Autostart to have xmodmap run at login. Run the script, or log out and back in. Every key should now work, ie., generate an X keysym. Finally, select Input Actions under Regional and Accessibility in the KDE Control Centre to map the keys to commands. You can program numerous functions for each key by combining them with the Shift, Crtl, Alt, etc. That about sums it up. If I omitted something, a bit of fiddling on this theme should be all you need.