summaryrefslogtreecommitdiff
path: root/plugins/keyboard/gsd-input-sources-switcher.c
diff options
context:
space:
mode:
authorRui Matos <tiagomatos@gmail.com>2012-10-08 14:53:02 +0200
committerRui Matos <tiagomatos@gmail.com>2012-10-08 17:32:05 +0200
commitca32b782eda8b636e604119edc49b7da785ca40d (patch)
tree92299b73111140acf8aec65b248941d65303d8b9 /plugins/keyboard/gsd-input-sources-switcher.c
parent5a9f9183a00fdd4d5c462fa6ef94b57969d0a258 (diff)
downloadgnome-settings-daemon-ca32b782eda8b636e604119edc49b7da785ca40d.tar.gz
keyboard: Add more modifiers only combinations
https://bugzilla.gnome.org/show_bug.cgi?id=685718
Diffstat (limited to 'plugins/keyboard/gsd-input-sources-switcher.c')
-rw-r--r--plugins/keyboard/gsd-input-sources-switcher.c88
1 files changed, 88 insertions, 0 deletions
diff --git a/plugins/keyboard/gsd-input-sources-switcher.c b/plugins/keyboard/gsd-input-sources-switcher.c
index 75b01110..fd891cc8 100644
--- a/plugins/keyboard/gsd-input-sources-switcher.c
+++ b/plugins/keyboard/gsd-input-sources-switcher.c
@@ -164,6 +164,94 @@ init_keys (void)
the_keys[1].keysym = GDK_KEY_Control_R;
the_keys[1].state = GDK_SHIFT_MASK;
break;
+
+ case GSD_INPUT_SOURCES_SWITCHER_SHIFT_L_SHIFT_R:
+ n_keys = 2;
+ the_keys = g_new0 (Key, n_keys);
+
+ the_keys[0].keysym = GDK_KEY_Shift_L;
+ the_keys[0].state = GDK_SHIFT_MASK;
+ the_keys[1].keysym = GDK_KEY_Shift_R;
+ the_keys[1].state = GDK_SHIFT_MASK;
+ break;
+
+ case GSD_INPUT_SOURCES_SWITCHER_ALT_L_ALT_R:
+ n_keys = 4;
+ the_keys = g_new0 (Key, n_keys);
+
+ the_keys[0].keysym = GDK_KEY_Alt_L;
+ the_keys[0].state = GDK_MOD1_MASK;
+ the_keys[1].keysym = GDK_KEY_Alt_R;
+ the_keys[1].state = GDK_MOD1_MASK;
+ the_keys[2].keysym = GDK_KEY_Alt_L;
+ the_keys[2].state = GDK_MOD5_MASK;
+ the_keys[3].keysym = GDK_KEY_ISO_Level3_Shift;
+ the_keys[3].state = GDK_MOD1_MASK;
+ break;
+
+ case GSD_INPUT_SOURCES_SWITCHER_CTRL_L_CTRL_R:
+ n_keys = 2;
+ the_keys = g_new0 (Key, n_keys);
+
+ the_keys[0].keysym = GDK_KEY_Control_L;
+ the_keys[0].state = GDK_CONTROL_MASK;
+ the_keys[1].keysym = GDK_KEY_Control_R;
+ the_keys[1].state = GDK_CONTROL_MASK;
+ break;
+
+ case GSD_INPUT_SOURCES_SWITCHER_ALT_SHIFT:
+ n_keys = 7;
+ the_keys = g_new0 (Key, n_keys);
+
+ the_keys[0].keysym = GDK_KEY_Shift_L;
+ the_keys[0].state = GDK_MOD1_MASK;
+ the_keys[1].keysym = GDK_KEY_Shift_L;
+ the_keys[1].state = GDK_MOD5_MASK;
+ the_keys[2].keysym = GDK_KEY_Shift_R;
+ the_keys[2].state = GDK_MOD1_MASK;
+ the_keys[3].keysym = GDK_KEY_Shift_R;
+ the_keys[3].state = GDK_MOD5_MASK;
+ the_keys[4].keysym = GDK_KEY_Alt_L;
+ the_keys[4].state = GDK_SHIFT_MASK;
+ the_keys[5].keysym = GDK_KEY_Alt_R;
+ the_keys[5].state = GDK_SHIFT_MASK;
+ the_keys[6].keysym = GDK_KEY_ISO_Level3_Shift;
+ the_keys[6].state = GDK_SHIFT_MASK;
+ break;
+
+ case GSD_INPUT_SOURCES_SWITCHER_CTRL_SHIFT:
+ n_keys = 4;
+ the_keys = g_new0 (Key, n_keys);
+
+ the_keys[0].keysym = GDK_KEY_Shift_L;
+ the_keys[0].state = GDK_CONTROL_MASK;
+ the_keys[1].keysym = GDK_KEY_Shift_R;
+ the_keys[1].state = GDK_CONTROL_MASK;
+ the_keys[2].keysym = GDK_KEY_Control_L;
+ the_keys[2].state = GDK_SHIFT_MASK;
+ the_keys[3].keysym = GDK_KEY_Control_R;
+ the_keys[3].state = GDK_SHIFT_MASK;
+ break;
+
+ case GSD_INPUT_SOURCES_SWITCHER_ALT_CTRL:
+ n_keys = 7;
+ the_keys = g_new0 (Key, n_keys);
+
+ the_keys[0].keysym = GDK_KEY_Control_L;
+ the_keys[0].state = GDK_MOD1_MASK;
+ the_keys[1].keysym = GDK_KEY_Control_L;
+ the_keys[1].state = GDK_MOD5_MASK;
+ the_keys[2].keysym = GDK_KEY_Control_R;
+ the_keys[2].state = GDK_MOD1_MASK;
+ the_keys[3].keysym = GDK_KEY_Control_R;
+ the_keys[3].state = GDK_MOD5_MASK;
+ the_keys[4].keysym = GDK_KEY_Alt_L;
+ the_keys[4].state = GDK_CONTROL_MASK;
+ the_keys[5].keysym = GDK_KEY_Alt_R;
+ the_keys[5].state = GDK_CONTROL_MASK;
+ the_keys[6].keysym = GDK_KEY_ISO_Level3_Shift;
+ the_keys[6].state = GDK_CONTROL_MASK;
+ break;
}
g_object_unref (settings);