summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Bacher <sbacher@src.gnome.org>2006-01-11 15:10:13 +0000
committerSebastien Bacher <sbacher@src.gnome.org>2006-01-11 15:10:13 +0000
commit1cd8e070fd29d8306891950ec8c7e2607953b4e9 (patch)
treef352c6c16b6c92cda95389d8965058f81fe6b01a
parentec0566552f6dbf78fed178ab70111f580c387fa2 (diff)
downloadgnome-control-center-1cd8e070fd29d8306891950ec8c7e2607953b4e9.tar.gz
drop the keysym/keycode binding code, it's an hack and
doesn't work fine, patch by Bastien Nocera <hadess@hadess.net> (Closes: #133815)
-rw-r--r--ChangeLog7
-rw-r--r--capplets/keybindings/ChangeLog7
-rw-r--r--capplets/keybindings/gnome-keybinding-properties.c6
-rw-r--r--gnome-settings-daemon/ChangeLog9
-rw-r--r--gnome-settings-daemon/actions/acme.h10
-rw-r--r--gnome-settings-daemon/gnome-settings-multimedia-keys.c149
-rw-r--r--schemas/apps_gnome_settings_daemon_keybindings.schemas.in59
7 files changed, 29 insertions, 218 deletions
diff --git a/ChangeLog b/ChangeLog
index 5527700ba..2e7ef5ed4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-01-11 Sebastien Bacher <seb128@debian.org>
+
+ * schemas/apps_gnome_settings_daemon_keybindings.schemas.in:
+ drop the keysym/keycode binding code, it's an hack and
+ doesn't work fine, patch by Bastien Nocera <hadess@hadess.net>
+ (Closes: #133815)
+
2006-01-05 Thomas Wood <thos@gnome.org>
reviewed by: Sebastien Bacher
diff --git a/capplets/keybindings/ChangeLog b/capplets/keybindings/ChangeLog
index 4893cd0b7..4b0075099 100644
--- a/capplets/keybindings/ChangeLog
+++ b/capplets/keybindings/ChangeLog
@@ -1,3 +1,10 @@
+2006-01-11 Sebastien Bacher <seb128@debian.org>
+
+ * gnome-keybinding-properties.c:
+ drop the keysym/keycode binding code, it's an hack and
+ doesn't work fine, patch by Bastien Nocera <hadess@hadess.net>
+ (Closes: #133815)
+
2005-11-14 Kjartan Maraas <kmaraas@gnome.org>
* eggcellrendererkeys.c: (egg_cell_renderer_keys_set_accelerator):
diff --git a/capplets/keybindings/gnome-keybinding-properties.c b/capplets/keybindings/gnome-keybinding-properties.c
index 6a8886212..6a00dab05 100644
--- a/capplets/keybindings/gnome-keybinding-properties.c
+++ b/capplets/keybindings/gnome-keybinding-properties.c
@@ -64,12 +64,6 @@ static const KeyListEntry sounds_key_list[] =
{ "/apps/gnome_settings_daemon/keybindings/volume_mute", ALWAYS_VISIBLE, 0 },
{ "/apps/gnome_settings_daemon/keybindings/volume_down", ALWAYS_VISIBLE, 0 },
{ "/apps/gnome_settings_daemon/keybindings/volume_up", ALWAYS_VISIBLE, 0 },
- /* Other ones that need keysyms bindings */
- { "/apps/gnome_settings_daemon/keybindings/play", ALWAYS_VISIBLE, 0 },
- { "/apps/gnome_settings_daemon/keybindings/pause", ALWAYS_VISIBLE, 0 },
- { "/apps/gnome_settings_daemon/keybindings/stop", ALWAYS_VISIBLE, 0 },
- { "/apps/gnome_settings_daemon/keybindings/previous", ALWAYS_VISIBLE, 0 },
- { "/apps/gnome_settings_daemon/keybindings/next", ALWAYS_VISIBLE, 0 },
{ "/apps/gnome_settings_daemon/keybindings/eject", ALWAYS_VISIBLE, 0 },
{ NULL }
};
diff --git a/gnome-settings-daemon/ChangeLog b/gnome-settings-daemon/ChangeLog
index 7f8876157..85756851f 100644
--- a/gnome-settings-daemon/ChangeLog
+++ b/gnome-settings-daemon/ChangeLog
@@ -1,3 +1,12 @@
+2006-01-11 Sebastien Bacher <seb128@debian.org>
+
+ * actions/acme.h:
+ * gnome-settings-multimedia-keys.c: (update_kbd_cb), (init_kbd),
+ (acme_filter_events):
+ drop the keysym/keycode binding code, it's an hack and
+ doesn't work fine, patch by Bastien Nocera <hadess@hadess.net>
+ (Closes: #133815)
+
2006-01-11 Scott Reeves <SReeves@novell.com>
* gnome-settings-sound.c (reload_foreach_cb): only disable sounds
diff --git a/gnome-settings-daemon/actions/acme.h b/gnome-settings-daemon/actions/acme.h
index 05a5e2182..c28eb6e52 100644
--- a/gnome-settings-daemon/actions/acme.h
+++ b/gnome-settings-daemon/actions/acme.h
@@ -42,11 +42,6 @@ enum {
BRIGHT_DOWN_KEY,
BRIGHT_UP_KEY,
#endif
- PLAY_KEY,
- PAUSE_KEY,
- STOP_KEY,
- PREVIOUS_KEY,
- NEXT_KEY,
HANDLED_KEYS
};
@@ -77,11 +72,6 @@ static struct {
{ BRIGHT_DOWN_KEY, GCONF_BINDING_DIR "/brightness_down", NULL },
{ BRIGHT_UP_KEY, GCONF_BINDING_DIR "/brightness_up", NULL },
#endif
- { 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__ */
diff --git a/gnome-settings-daemon/gnome-settings-multimedia-keys.c b/gnome-settings-daemon/gnome-settings-multimedia-keys.c
index 084cdadb7..a19473858 100644
--- a/gnome-settings-daemon/gnome-settings-multimedia-keys.c
+++ b/gnome-settings-daemon/gnome-settings-multimedia-keys.c
@@ -259,37 +259,6 @@ grab_key (Acme *acme, Key *key, gboolean grab)
}
}
-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)
{
@@ -311,7 +280,7 @@ update_kbd_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data)
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)
{
@@ -330,72 +299,20 @@ update_kbd_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data)
keys[i].gconf_key, NULL);
if (is_valid_shortcut (tmp) == FALSE)
- break;
+ return;
key = g_new0 (Key, 1);
if (egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) == FALSE
|| key->keycode == 0)
{
g_free (key);
- break;
+ return;
}
grab_key (acme, key, TRUE);
keys[i].key = key;
- break;
- }
- }
-
- if (found != FALSE)
- return;
-
- for (i = PLAY_KEY; i < HANDLED_KEYS; i++)
- {
- if (strcmp (entry->key, keys[i].gconf_key) == 0)
- {
- const 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)
- break;
-
- key = g_new0 (Key, 1);
- if (egg_accelerator_parse_virtual (tmp, &key->keysym, &key->keycode, &key->state) == FALSE
- || key->keycode == 0)
- {
- 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;
+ return;
}
}
}
@@ -431,7 +348,7 @@ init_kbd (Acme *acme)
{
int i;
- for (i = 0; i < PLAY_KEY; i++)
+ for (i = 0; i < HANDLED_KEYS; i++)
{
char *tmp;
Key *key;
@@ -461,60 +378,6 @@ init_kbd (Acme *acme)
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;
- }
- }
-
- return;
}
static gboolean
@@ -893,7 +756,7 @@ acme_filter_events (GdkXEvent *xevent, GdkEvent *event, gpointer data)
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;
diff --git a/schemas/apps_gnome_settings_daemon_keybindings.schemas.in b/schemas/apps_gnome_settings_daemon_keybindings.schemas.in
index 7491dc839..0f2b223aa 100644
--- a/schemas/apps_gnome_settings_daemon_keybindings.schemas.in
+++ b/schemas/apps_gnome_settings_daemon_keybindings.schemas.in
@@ -181,64 +181,5 @@
</schema>
- <schema>
- <key>/schemas/apps/gnome_settings_daemon/keybindings/play</key>
- <applyto>/apps/gnome_settings_daemon/keybindings/play</applyto>
- <type>string</type>
- <default></default>
- <locale name="C">
- <short>Play (or play/pause)</short>
- <long>Play (or play/pause) key's shortcut.</long>
- </locale>
- </schema>
-
-
- <schema>
- <key>/schemas/apps/gnome_settings_daemon/keybindings/pause</key>
- <applyto>/apps/gnome_settings_daemon/keybindings/pause</applyto>
- <type>string</type>
- <default></default>
- <locale name="C">
- <short>Pause</short>
- <long>Pause key's shortcut.</long>
- </locale>
- </schema>
-
-
- <schema>
- <key>/schemas/apps/gnome_settings_daemon/keybindings/stop</key>
- <applyto>/apps/gnome_settings_daemon/keybindings/stop</applyto>
- <type>string</type>
- <default></default>
- <locale name="C">
- <short>Stop playback key</short>
- <long>Stop playback key's shortcut.</long>
- </locale>
- </schema>
-
-
- <schema>
- <key>/schemas/apps/gnome_settings_daemon/keybindings/previous</key>
- <applyto>/apps/gnome_settings_daemon/keybindings/previous</applyto>
- <type>string</type>
- <default></default>
- <locale name="C">
- <short>Skip to previous track</short>
- <long>Previous track key's shortcut.</long>
- </locale>
- </schema>
-
-
- <schema>
- <key>/schemas/apps/gnome_settings_daemon/keybindings/next</key>
- <applyto>/apps/gnome_settings_daemon/keybindings/next</applyto>
- <type>string</type>
- <default></default>
- <locale name="C">
- <short>Skip to next track</short>
- <long>Next track key's shortcut.</long>
- </locale>
- </schema>
-
</schemalist>
</gconfschemafile>