[gnome-settings-daemon] keyboard: Add more modifiers only combinations
- From: Rui Matos <rtcm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] keyboard: Add more modifiers only combinations
- Date: Mon, 8 Oct 2012 15:33:13 +0000 (UTC)
commit ca32b782eda8b636e604119edc49b7da785ca40d
Author: Rui Matos <tiagomatos gmail com>
Date: Mon Oct 8 14:53:02 2012 +0200
keyboard: Add more modifiers only combinations
https://bugzilla.gnome.org/show_bug.cgi?id=685718
data/gsd-enums.h | 8 ++-
plugins/keyboard/gsd-input-sources-switcher.c | 88 +++++++++++++++++++++++++
2 files changed, 95 insertions(+), 1 deletions(-)
---
diff --git a/data/gsd-enums.h b/data/gsd-enums.h
index 6c4edd4..49e07db 100644
--- a/data/gsd-enums.h
+++ b/data/gsd-enums.h
@@ -133,7 +133,13 @@ typedef enum
GSD_INPUT_SOURCES_SWITCHER_ALT_SHIFT_L,
GSD_INPUT_SOURCES_SWITCHER_ALT_SHIFT_R,
GSD_INPUT_SOURCES_SWITCHER_CTRL_SHIFT_L,
- GSD_INPUT_SOURCES_SWITCHER_CTRL_SHIFT_R
+ GSD_INPUT_SOURCES_SWITCHER_CTRL_SHIFT_R,
+ GSD_INPUT_SOURCES_SWITCHER_SHIFT_L_SHIFT_R,
+ GSD_INPUT_SOURCES_SWITCHER_ALT_L_ALT_R,
+ GSD_INPUT_SOURCES_SWITCHER_CTRL_L_CTRL_R,
+ GSD_INPUT_SOURCES_SWITCHER_ALT_SHIFT,
+ GSD_INPUT_SOURCES_SWITCHER_CTRL_SHIFT,
+ GSD_INPUT_SOURCES_SWITCHER_ALT_CTRL,
} GsdInputSourcesSwitcher;
#endif /* __gsd_enums_h__ */
diff --git a/plugins/keyboard/gsd-input-sources-switcher.c b/plugins/keyboard/gsd-input-sources-switcher.c
index 75b0111..fd891cc 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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]