Does anyone know which component of the GNOME desktop is responsible for interpreting the media buttons on my keyboard? I would like to run this component in KDE, because KDE doesn't handle the media buttons correctly.

Note that I am not talking about the icon in the system tray.

link|improve this question

feedback

2 Answers

up vote 1 down vote accepted

gnome-keybinding-properties does the configuration part. The settings are set in GConf, a database that propagates changes between applications.

Those settings are read by gnome-settings-daemon, which configures your keyboard to get the key events. Some of the keys are handled by gnome-settings-daemon directly: the volume keys, and the key that starts your prefered media player. The others (play/pause, skip a track) are exposed on a D-Bus service; your media player registers itself with the service, and gets the key events forwarded to it.

You can ask KDE to start gnome-settings-daemon at start-up, so that the volume keys are handled. I am not sure KDE media players can use the same D-Bus service, for play/pause and the like. Amarok 2 can, with this plugin. For other players, hopefully the freedesktop.org collaboration effort will standardise this sometime this century.

link|improve this answer
gnome-settings-daemon is what I was looking for. Seems like an odd place to put volume button logic. But starting it in KDE seems to have worked just fine. Thanks! – Ryan Thompson Jul 4 '10 at 7:37
feedback

gnome-keybinding-properties which is part of package gnome-control-center which I'm pretty sure is only a front end to xkb* services of some sort because my "start rhythmbox" generates an XF86AudioMedia X keysym event which needs to steal focus from which ever window has it in order to work globally.

I'd start investigating the base X services as I'm guessing gnome-control-center will not play nice with KDE.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.