summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Magoun <steve.magoun@canonical.com>2012-08-23 14:45:14 -0400
committerBastien Nocera <hadess@hadess.net>2012-09-17 18:48:29 +0200
commit09fb6718f201c3bfd3ae74151a7fef8fcc006461 (patch)
tree831d9a6d31eed89cbec4d5ba8792393be0ac982e
parent9b46248aad1fb6e05cfb6d8408a21763b391b134 (diff)
downloadgnome-settings-daemon-09fb6718f201c3bfd3ae74151a7fef8fcc006461.tar.gz
media-keys: Handle "toggle brightness" events
Toggle would lower the brightness, as: KEYBOARD_BRIGHTNESS_TOGGLE_KEY != KEYBOARD_BRIGHTNESS_TOGGLE_KEY https://bugzilla.gnome.org/show_bug.cgi?id=682564
-rw-r--r--plugins/media-keys/gsd-media-keys-manager.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
index bdef10d5..04057200 100644
--- a/plugins/media-keys/gsd-media-keys-manager.c
+++ b/plugins/media-keys/gsd-media-keys-manager.c
@@ -1765,15 +1765,31 @@ static void
do_keyboard_brightness_action (GsdMediaKeysManager *manager,
MediaKeyType type)
{
+ const char *cmd;
+
if (manager->priv->connection == NULL ||
manager->priv->power_keyboard_proxy == NULL) {
g_warning ("No existing D-Bus connection trying to handle power keys");
return;
}
+ switch (type) {
+ case KEYBOARD_BRIGHTNESS_UP_KEY:
+ cmd = "StepUp";
+ break;
+ case KEYBOARD_BRIGHTNESS_DOWN_KEY:
+ cmd = "StepDown";
+ break;
+ case KEYBOARD_BRIGHTNESS_TOGGLE_KEY:
+ cmd = "Toggle";
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+
/* call into the power plugin */
g_dbus_proxy_call (manager->priv->power_keyboard_proxy,
- type == KEYBOARD_BRIGHTNESS_UP_KEY ? "StepUp" : "StepDown",
+ cmd,
NULL,
G_DBUS_CALL_FLAGS_NONE,
-1,