rpms/control-center/devel control-center-2.15.92-fix-media-keys.patch, NONE, 1.1 control-center.spec, 1.174, 1.175

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Aug 25 00:28:55 UTC 2006


Author: rstrode

Update of /cvs/dist/rpms/control-center/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv8941

Modified Files:
	control-center.spec 
Added Files:
	control-center-2.15.92-fix-media-keys.patch 
Log Message:
- don't try to map user defined key shortcuts to keysyms
  (bug 201176)


control-center-2.15.92-fix-media-keys.patch:
 actions/acme.h                   |   10 --
 gnome-settings-multimedia-keys.c |  145 +--------------------------------------
 2 files changed, 5 insertions(+), 150 deletions(-)

--- NEW FILE control-center-2.15.92-fix-media-keys.patch ---
--- control-center-2.15.92/gnome-settings-daemon/actions/acme.h.fix-media-keys	2006-08-24 20:09:15.000000000 -0400
+++ control-center-2.15.92/gnome-settings-daemon/actions/acme.h	2006-08-24 20:09:31.000000000 -0400
@@ -38,11 +38,6 @@
 	SCREENSAVER_KEY,
 	HELP_KEY,
 	WWW_KEY,
-	PLAY_KEY,
-	PAUSE_KEY,
-	STOP_KEY,
-	PREVIOUS_KEY,
-	NEXT_KEY,
 	HANDLED_KEYS
 };
 
@@ -69,11 +64,6 @@
 	{ SCREENSAVER_KEY, GCONF_BINDING_DIR "/screensaver", NULL },
 	{ HELP_KEY, GCONF_BINDING_DIR "/help", NULL },
 	{ WWW_KEY, GCONF_BINDING_DIR "/www", NULL },
-	{ PLAY_KEY, GCONF_BINDING_DIR "/play", NULL },
-	{ PAUSE_KEY, GCONF_BINDING_DIR "/pause", NULL },
-	{ STOP_KEY, GCONF_BINDING_DIR "/stop", NULL },
-	{ PREVIOUS_KEY, GCONF_BINDING_DIR "/previous", NULL },
-	{ NEXT_KEY, GCONF_BINDING_DIR "/next", NULL },
 };
 
 #endif /* __ACME_H__ */
--- control-center-2.15.92/gnome-settings-daemon/gnome-settings-multimedia-keys.c.fix-media-keys	2006-08-24 20:04:55.000000000 -0400
+++ control-center-2.15.92/gnome-settings-daemon/gnome-settings-multimedia-keys.c	2006-08-24 20:08:48.000000000 -0400
@@ -227,35 +227,6 @@
 	}
 }
 
-static void                                                                     
-unhookup_keysym (int keycode)
-{
-	char *command;
-
-	if (keycode <= 0)
-		return;
-
-	command = g_strdup_printf ("xmodmap -e \"keycode %d = \"", keycode);
-	g_spawn_command_line_sync (command, NULL, NULL, NULL, NULL);
-	g_free (command);
-}                                                                               
-
-static gboolean
-hookup_keysym (int keycode, const char *keysym)
-{
-	char *command;
-
-	if (keycode <= 0)
-		return TRUE;
-
-	command = g_strdup_printf ("xmodmap -e \"keycode %d = %s\"",
-				   keycode, keysym);
-	g_spawn_command_line_sync (command, NULL, NULL, NULL, NULL);
-	g_free (command);
-
-	return FALSE;
-}
-
 static gboolean
 is_valid_shortcut (const char *string)
 {
@@ -277,7 +248,7 @@
 	g_return_if_fail (entry->key != NULL);
 
 	/* Find the key that was modified */
-	for (i = 0; i < PLAY_KEY; i++)
+	for (i = 0; i < HANDLED_KEYS; i++)
 	{
 		if (strcmp (entry->key, keys[i].gconf_key) == 0)
 		{
@@ -307,73 +278,13 @@
 			{
 				g_free (tmp);
 				g_free (key);
-				break;
+				return;
 			}
 
 			grab_key (acme, key, TRUE);
 			keys[i].key = key;
 
-			g_free (tmp);
-
-			break;
-		}
-	}
-
-	if (found != FALSE)
-		return;
-
-	for (i = PLAY_KEY; i < HANDLED_KEYS; i++)
-	{
-		if (strcmp (entry->key, keys[i].gconf_key) == 0)
-		{
-			char *tmp;
-			Key *key;
-
-			if (keys[i].key != NULL)
-				unhookup_keysym (keys[i].key->keycode);
-
-			g_free (keys[i].key);
-			keys[i].key = NULL;
-
-			tmp = gconf_client_get_string (acme->conf_client,
-						       keys[i].gconf_key, NULL);
-
-			if (is_valid_shortcut (tmp) == FALSE)
-			{
-				g_free (tmp);
-				break;
-			}
-
-			key = g_new0 (Key, 1);
-			if (egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) == FALSE
-			    || key->keycode == 0)
-			{
-				g_free (tmp);
-				g_free (key);
-				break;
-			}
-
-			switch (keys[i].key_type) {
-			case PLAY_KEY:
-				hookup_keysym (key->keycode, "XF86AudioPlay");
-				break;
-			case PAUSE_KEY:
-				hookup_keysym (key->keycode, "XF86AudioPause");
-				break; 
-			case STOP_KEY:
-				hookup_keysym (key->keycode, "XF86AudioStop");
-				break;
-			case PREVIOUS_KEY:
-				hookup_keysym (key->keycode, "XF86AudioPrev");
-				break;
-			case NEXT_KEY:                                                
-				hookup_keysym (key->keycode, "XF86AudioNext");
-				break;
-			}
-
-			keys[i].key = key;
-
-			g_free (tmp);
+			return;
 		}
 	}
 }
@@ -409,7 +320,7 @@
 {
 	int i;
 
-	for (i = 0; i < PLAY_KEY; i++)
+	for (i = 0; i < HANDLED_KEYS; i++)
 	{
 		char *tmp;
 		Key *key;
@@ -439,52 +350,6 @@
 
 		grab_key (acme, key, TRUE);
 	}
-
-	for (i = PLAY_KEY; i < HANDLED_KEYS; i++)
-	{
-		char *tmp;
-		Key *key;
-
-		gconf_client_notify_add (acme->conf_client,
-					 keys[i].gconf_key, update_kbd_cb,
-					 acme, NULL, NULL);
-
-		tmp = gconf_client_get_string (acme->conf_client,
-					       keys[i].gconf_key, NULL);
-		if (!is_valid_shortcut (tmp)) {
-			g_free (tmp);
-			continue;                                           
-		}                                               
-
-		key = g_new0 (Key, 1);
-		if (egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) == FALSE
-		    || key->keycode == 0)
-		{                                       
-			g_free (tmp);
-			g_free (key);
-			continue;
-		}                                               
-		g_free (tmp);
-
-		keys[i].key = key;
-		switch (keys[i].key_type) {
-		case PLAY_KEY:
-			hookup_keysym (keys[i].key->keycode, "XF86AudioPlay");
-			break;
-		case PAUSE_KEY:
-			hookup_keysym (keys[i].key->keycode, "XF86AudioPause");
-			break;
-		case STOP_KEY:
-			hookup_keysym (keys[i].key->keycode, "XF86AudioStop");
-			break;
-		case PREVIOUS_KEY:
-			hookup_keysym (keys[i].key->keycode, "XF86AudioPrev");
-			break;
-		case NEXT_KEY:
-			hookup_keysym (keys[i].key->keycode, "XF86AudioNext");
-			break;
-		}
-	}
 }
 
 static gboolean
@@ -824,7 +689,7 @@
 	keycode = xev->xkey.keycode;
 	state = xev->xkey.state;
 
-	for (i = 0; i < PLAY_KEY; i++)
+	for (i = 0; i < HANDLED_KEYS; i++)
 	{
 		if (keys[i].key == NULL)
 			continue;


Index: control-center.spec
===================================================================
RCS file: /cvs/dist/rpms/control-center/devel/control-center.spec,v
retrieving revision 1.174
retrieving revision 1.175
diff -u -r1.174 -r1.175
--- control-center.spec	22 Aug 2006 21:37:15 -0000	1.174
+++ control-center.spec	25 Aug 2006 00:28:53 -0000	1.175
@@ -40,6 +40,7 @@
 Patch11: control-center-2.15.91-search.patch
 Patch12: control-center-2.15.91-fix-thumbnailing.patch
 Patch13: control-center-2.15.91-compiz-support.patch
+Patch14: control-center-2.15.92-fix-media-keys.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
 URL: http://www.gnome.org
@@ -136,7 +137,8 @@
 %patch10 -p1 -b .finish
 %patch11 -p1 -b .search
 %patch12 -p1 -b .fix-thumbnailing
-%patch13 -p1 -b .compiz-support.patch
+%patch13 -p1 -b .compiz-support
+%patch14 -p1 -b .fix-media-keys
 
 %build
 
@@ -274,6 +276,10 @@
 %{_libdir}/pkgconfig/*
 
 %changelog
+* Thu Aug 24 2006 Ray Strode <rstrode at redhat.com> - 2.15.91-7.fc6
+- don't try to map user defined key shortcuts to keysyms
+  (bug 201176)
+
 * Tue Aug 22 2006 Ray Strode <rstrode at redhat.com> - 2.15.91-6.fc6
 - update to 2.15.92
 




More information about the fedora-cvs-commits mailing list