--- a/gnome-flashback/libcommon/gf-keybindings.c +++ b/gnome-flashback/libcommon/gf-keybindings.c @@ -489,7 +489,7 @@ gtk_accelerator_parse (keybinding->name, &keyval, &modifiers); - if (gtk_accelerator_valid (keyval, modifiers) && keyval != 0) + if (keyval != 0) { keycode = XKeysymToKeycode (keybindings->xdisplay, keyval); @@ -917,8 +917,6 @@ gtk_accelerator_parse (accelerator, &keyval, &modifiers); - if (!gtk_accelerator_valid (keyval, modifiers)) - return 0; if (keyval == 0) return 0; --- a/gnome-flashback/libinput-sources/gf-input-source-popup.c +++ b/gnome-flashback/libinput-sources/gf-input-source-popup.c @@ -355,7 +355,7 @@ popup = GF_INPUT_SOURCE_POPUP (widget); modifiers = gtk_accelerator_get_default_mod_mask (); - if ((event->state & modifiers) != popup->modifiers) + if (((event->state & modifiers) != popup->modifiers) && ((event->state & popup->modifiers) == popup->modifiers)) return TRUE; activate_selected_input_source (popup);