diff -Nru gnome-control-center-3.6.3/debian/changelog gnome-control-center-3.6.3/debian/changelog --- gnome-control-center-3.6.3/debian/changelog 2014-03-21 11:25:55.000000000 +0000 +++ gnome-control-center-3.6.3/debian/changelog 2014-04-10 15:25:34.000000000 +0000 @@ -1,3 +1,10 @@ +gnome-control-center (1:3.6.3-0ubuntu56) trusty; urgency=medium + + * debian/patches/git_keyboard_grp_xkb_option.patch: + - take upstream's grp xkb option combo for modifier-only input switching + + -- William Hua Tue, 08 Apr 2014 01:03:33 +1200 + gnome-control-center (1:3.6.3-0ubuntu54) trusty; urgency=medium * debian/control.in, debian/gnome/control-center-data.install, diff -Nru gnome-control-center-3.6.3/debian/patches/git_keyboard_grp_xkb_option.patch gnome-control-center-3.6.3/debian/patches/git_keyboard_grp_xkb_option.patch --- gnome-control-center-3.6.3/debian/patches/git_keyboard_grp_xkb_option.patch 1970-01-01 00:00:00.000000000 +0000 +++ gnome-control-center-3.6.3/debian/patches/git_keyboard_grp_xkb_option.patch 2014-04-10 15:25:34.000000000 +0000 @@ -0,0 +1,83 @@ +From 5b98213b04627f57c55d54b10f03351c9381ccc9 Mon Sep 17 00:00:00 2001 +From: Rui Matos +Date: Mon, 1 Apr 2013 20:22:16 +0200 +Subject: [PATCH] keyboard: Add the XKB option for the input source switch + shortcut + +Mutter now uses the "grp" XKB option to implement a special +modifiers-only shortcut use by gnome-shell to switch input sources. + +https://bugzilla.gnome.org/show_bug.cgi?id=700346 +--- + panels/keyboard/cc-keyboard-option.c | 34 ++++++++++++++++++++++++++++++++++ + 1 file changed, 34 insertions(+) + +diff --git a/panels/keyboard/cc-keyboard-option.c b/panels/keyboard/cc-keyboard-option.c +index 33cb415..7a94f66 100644 +--- a/panels/keyboard/cc-keyboard-option.c ++++ b/panels/keyboard/cc-keyboard-option.c +@@ -39,6 +39,7 @@ + + #define XKB_OPTION_GROUP_LVL3 "lv3" + #define XKB_OPTION_GROUP_COMP "Compose key" ++#define XKB_OPTION_GROUP_GRP "grp" + + enum + { +@@ -97,6 +98,32 @@ static const gchar *xkb_option_comp_whitelist[] = { + NULL + }; + ++/* This list must be kept in sync with what mutter is able to ++ * handle. */ ++static const gchar *xkb_option_grp_whitelist[] = { ++ "grp:toggle", ++ "grp:lalt_toggle", ++ "grp:lwin_toggle", ++ "grp:rwin_toggle", ++ "grp:lshift_toggle", ++ "grp:rshift_toggle", ++ "grp:lctrl_toggle", ++ "grp:rctrl_toggle", ++ "grp:sclk_toggle", ++ "grp:menu_toggle", ++ "grp:caps_toggle", ++ "grp:shift_caps_toggle", ++ "grp:alt_caps_toggle", ++ "grp:alt_space_toggle", ++ "grp:ctrl_shift_toggle", ++ "grp:lctrl_lshift_toggle", ++ "grp:rctrl_rshift_toggle", ++ "grp:ctrl_alt_toggle", ++ "grp:alt_shift_toggle", ++ "grp:lalt_lshift_toggle", ++ NULL ++}; ++ + static GList *objects_list = NULL; + + GType cc_keyboard_option_get_type (void); +@@ -233,6 +260,8 @@ cc_keyboard_option_constructed (GObject *object) + self->whitelist = xkb_option_lvl3_whitelist; + else if (g_str_equal (self->group, XKB_OPTION_GROUP_COMP)) + self->whitelist = xkb_option_comp_whitelist; ++ else if (g_str_equal (self->group, XKB_OPTION_GROUP_GRP)) ++ self->whitelist = xkb_option_grp_whitelist; + else + g_assert_not_reached (); + +@@ -328,6 +357,11 @@ cc_keyboard_option_get_all (void) + "group", XKB_OPTION_GROUP_COMP, + "description", _("Compose Key"), + NULL)); ++ objects_list = g_list_prepend (objects_list, ++ g_object_new (CC_TYPE_KEYBOARD_OPTION, ++ "group", XKB_OPTION_GROUP_GRP, ++ "description", _("Modifiers-only switch to next source"), ++ NULL)); + return objects_list; + } + +-- +1.9.1 + diff -Nru gnome-control-center-3.6.3/debian/patches/series gnome-control-center-3.6.3/debian/patches/series --- gnome-control-center-3.6.3/debian/patches/series 2014-03-21 11:25:55.000000000 +0000 +++ gnome-control-center-3.6.3/debian/patches/series 2014-04-10 15:25:34.000000000 +0000 @@ -1,3 +1,4 @@ +git_keyboard_grp_xkb_option.patch 0001-online-accounts-use-the-async-function-to-get-all-th.patch 0001-rfkill-glib-Don-t-use-g_assert_not_reached-in-type_t.patch 05_run_update_manager.patch