diff options
author | Sebastien Bacher <sbacher@src.gnome.org> | 2006-01-11 15:10:13 +0000 |
---|---|---|
committer | Sebastien Bacher <sbacher@src.gnome.org> | 2006-01-11 15:10:13 +0000 |
commit | 1cd8e070fd29d8306891950ec8c7e2607953b4e9 (patch) | |
tree | f352c6c16b6c92cda95389d8965058f81fe6b01a | |
parent | ec0566552f6dbf78fed178ab70111f580c387fa2 (diff) | |
download | gnome-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-- | ChangeLog | 7 | ||||
-rw-r--r-- | capplets/keybindings/ChangeLog | 7 | ||||
-rw-r--r-- | capplets/keybindings/gnome-keybinding-properties.c | 6 | ||||
-rw-r--r-- | gnome-settings-daemon/ChangeLog | 9 | ||||
-rw-r--r-- | gnome-settings-daemon/actions/acme.h | 10 | ||||
-rw-r--r-- | gnome-settings-daemon/gnome-settings-multimedia-keys.c | 149 | ||||
-rw-r--r-- | schemas/apps_gnome_settings_daemon_keybindings.schemas.in | 59 |
7 files changed, 29 insertions, 218 deletions
@@ -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> |