I have a Logitech LX-710 keyboard with a bunch of extra function keys, most of which I cannot program. I had a different keyboard before this one and the same was true. I can program the audio keys (which work by default) and the calculator key, but most others do not work. It would be great if Linux would generate scan codes for those extra keys so I could assign commands to them. The same is true of special mouse buttons.
One program I tried works with non-USB keyboards but claimed that kernel support was required for USB keyboards. Strangely, Enlightment recognizes quite a few more of the extra keys than Gnome does.
Developer comments
Some of the extra keys can be mapped in xkeyboard-config, but the more exotic ones produce scancodes which are over the limit that X can use, so they need to be quirked in the kernel. Just file bugs instead. If xev shows the keycode, the keycode can be added to xkeyboard-config. If not, the kernel needs to be fixed first.