If you have a keyboard with 'extra' buttons, you'll probably want to get them to work under X.
I have a MS Natural Pro keyboard, with the 'multimedia' blue buttons across the top. I borrowed the following xmodmap file from JamieCurtis, no idea where he got it from. Problem is, it only works if you use the keyboard via PS/2 - use USB and it has a different set of keycodes! Both are listed below. To use these, place in a file called .Xmodmap in your home directory, and make sure your X login runs xmodmap over this file. This is normally done for you in most systems. Now you can use your window manager to grab these keys and run commands for you.
keycode 234 =XF86Back keycode 233 =XF86Forward keycode 232 =XF86Stop keycode 121 =XF86Refresh keycode 229 =XF86Search keycode 230 =XF86Favorites keycode 130 =XF86HomePage keycode 236 =XF86Mail keycode 166 =XF86AudioMute keycode 165 =XF86AudioLowerVolume keycode 158 =XF86AudioRaiseVolume keycode 159 =XF86AudioPlay keycode 151 =XF86AudioStop keycode 164 =XF86AudioPrev keycode 162 =XF86AudioNext keycode 129 =XF86AudioMedia keycode 111 =XF86MyComputer keycode 161 =XF86Calculator keycode 227 =XF86Standby
keycode 234 =XF86Back keycode 233 =XF86Forward keycode 232 =XF86Stop keycode 231 =XF86Refresh keycode 229 =XF86Search keycode 230 =XF86Favorites keycode 178 =XF86HomePage keycode 236 =XF86Mail keycode 160 =XF86AudioMute keycode 174 =XF86AudioLowerVolume keycode 176 =XF86AudioRaiseVolume keycode 162 =XF86AudioPlay keycode 164 =XF86AudioStop keycode 144 =XF86AudioPrev keycode 153 =XF86AudioNext keycode 237 =XF86AudioMedia keycode 235 =XF86MyComputer keycode 161 =XF86Calculator keycode 223 =XF86Standby
If you have access/ability to change your X11 settings, http://flag.blackened.net/retch/microsoft-and-xfree86.html suggests that you can put "XkbModel?" "microsoft" in the InputDevice? section for your keyboard, and this will all 'just work'. Not tested this, as I dont have access to the modify my X11 config file -- I can run xmodmap however!
One page links to XFree86KeyboardMouseNotes:
lib/main.php:944: Notice: PageInfo: Cannot find action page
lib/main.php:839: Notice: PageInfo: Unknown action
lib/plugin/WlugLicense.php:99: Warning: Invalid argument supplied for foreach()
lib/plugin/WlugLicense.php:111: Notice: Undefined variable: ignore_authors
lib/plugin/WlugLicense.php:111: Notice: Undefined variable: ignore_authors