gnome-settings-daemon grabs multimedia keys and drops mute since upgrade 16.04
I have a Thinkpad X1 (1st Gen) running Ubuntu (previously on 14.04)
It has multimedia buttons on the side for: XF86Launch1, XF86AudioMute, XF86AudioRaiseVolume, XF86LowerVolume and XF86AudioMicMute. They used to work fine in 14.04, even to the extent that the little orange light inside the 'mute' key would come on when muted and turn off when not.
I upgraded to 16.04 and none of them worked anymore.
I realized that they were getting grabbed by (but not used by) the Keyboard shortcuts as accessible from gnome-control-center or unity-control-center.
When I turned off the keyboard shortcuts for the media keys, I was then able to see the keycodes with xev, and hence was able to use something like xbindkeys for a hack of a solution.
All except for the input mute, which still isn't working. So I check with acpi_listen and see that that the buttonpress is being registered, just as it is for the other media keys, but when I press it, I see:
(gnome-settings-daemon:14711): GLib-GIO-WARNING **: Dropping signal AcceleratorActivated of type (uuu) since the type from the expected interface is (ua{sv})
When I kill gnome-settings-daemon then I can properly see the input mute key in xev and grab it as needed.
How can I keep gnome-settings-daemon from trying to (and failing to) grab this key?
If you're not running gnome-shell
as your desktop environment, you will have issues with your media keys. They're configured and handled by gnome-settings-daemon
, but grabbed by gnome-shell
since this commit in 2013.
To restore the old behavior without running gnome-shell
or unity, you must install and run a shim program to grab and forward the keys.
For the media keys functionality, such a program is available in the arch linux AUR package gnome-settings-daemon-compat. This package provides the executable /usr/lib/gnome-settings-daemon/gnome-fallback-media-keys-helper
, which provides support for media keys in any desktop environment/window manager.
You would need to add it as a dependency of your gnome session or otherwise have it run at session init. I'm not sure if it's packaged for ubuntu, or if you can run unity-fallback-media-keys-helper
instead (I don't have either installed to check).