Index: gnome-settings-daemon/gnome-settings-multimedia-keys.c
===================================================================
--- gnome-settings-daemon/gnome-settings-multimedia-keys.c	(revision 7399)
+++ gnome-settings-daemon/gnome-settings-multimedia-keys.c	(working copy)
@@ -459,6 +459,17 @@ do_mail_action (Acme *acme)
 }
 
 static void
+do_media_action (Acme *acme)
+{
+	char *command;
+	command = gconf_client_get_string (acme->conf_client,
+					   GCONF_MISC_DIR "/eject_command", NULL);
+	if ((command != NULL) && (strcmp (command, "") != 0))
+		execute (command, FALSE);
+	g_free (command);
+}
+
+static void
 do_www_action (Acme *acme, const char *url)
 {
 	char *string, *command;
@@ -616,6 +627,9 @@ do_action (Acme *acme, int type)
 	case WWW_KEY:
 		do_www_action (acme, NULL);
 		break;
+	case MEDIA_KEY:
+		do_media_action (acme);
+		break;
 	case PLAY_KEY:
 		return do_multimedia_player_action (acme, "Play");
 		break;
Index: gnome-settings-daemon/actions/acme.h
===================================================================
--- gnome-settings-daemon/actions/acme.h	(revision 7399)
+++ gnome-settings-daemon/actions/acme.h	(working copy)
@@ -32,6 +32,7 @@ enum {
 	POWER_KEY,
 	EJECT_KEY,
 	HOME_KEY,
+	MEDIA_KEY,
 	SEARCH_KEY,
 	EMAIL_KEY,
 	SLEEP_KEY,
@@ -63,6 +64,7 @@ static struct {
 	{ POWER_KEY, GCONF_BINDING_DIR "/power", NULL },
 	{ EJECT_KEY, GCONF_BINDING_DIR "/eject", NULL },
 	{ HOME_KEY, GCONF_BINDING_DIR "/home", NULL },
+	{ MEDIA_KEY, GCONF_BINDING_DIR "/media", NULL },
 	{ SEARCH_KEY, GCONF_BINDING_DIR "/search", NULL },
 	{ EMAIL_KEY, GCONF_BINDING_DIR "/email", NULL },
 	{ SLEEP_KEY, GCONF_BINDING_DIR "/sleep", NULL },
