From 77e38cbe4b11b1cbd760f337ddca97965bb35cef Mon Sep 17 00:00:00 2001 From: "Sergey V. Udaltsov" Date: Wed, 28 Dec 2011 02:15:12 +0000 Subject: [PATCH] Making consistent CTRL+SHIFT toggle The default switchers are changed to switch to next group. The old behavior is kept in _bidir options https://bugs.freedesktop.org/show_bug.cgi?id=42931 --- rules/base.o_s.part | 21 +++++++------ symbols/group | 88 ++++++++++++++++++++++++++--------------------------- 2 files changed, 55 insertions(+), 54 deletions(-) diff --git a/rules/base.o_s.part b/rules/base.o_s.part index 8bd640a..b4772b4 100644 --- a/rules/base.o_s.part +++ b/rules/base.o_s.part @@ -16,21 +16,12 @@ grp:shifts_toggle = +group(shifts_toggle) grp:ctrls_toggle = +group(ctrls_toggle) grp:alts_toggle = +group(alts_toggle) - grp:ctrl_shift_toggle = +group(ctrl_shift_toggle) - grp:lctrl_lshift_toggle = +group(lctrl_lshift_toggle) - grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle) grp:caps_toggle = +capslock(grouplock) grp:caps_switch = +capslock(groupshift) grp:shift_caps_toggle = +group(shift_caps_toggle) grp:shift_caps_switch = +group(shift_caps_switch) grp:win_menu_switch = +group(win_menu_switch) grp:alt_caps_toggle = +group(alt_caps_toggle) - grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) - grp:ctrl_alt_toggle_bidir = +group(ctrl_alt_toggle_bidir) - grp:alt_shift_toggle = +group(alt_shift_toggle) - grp:alt_shift_toggle_bidir = +group(alt_shift_toggle_bidir) - grp:lalt_lshift_toggle = +group(lalt_lshift_toggle) - grp:ralt_rshift_toggle = +group(ralt_rshift_toggle) grp:alt_space_toggle = +group(alt_space_toggle) grp:menu_toggle = +group(menu_toggle) grp:lwin_toggle = +group(lwin_toggle) @@ -44,6 +35,18 @@ grp:sclk_toggle = +group(sclk_toggle) grp:lctrl_rctrl_switch = +group(lctrl_rctrl_switch) grp:lctrl_lwin_rctrl_menu = +group(lctrl_lwin_rctrl_menu) + grp:lctrl_lalt_toggle = +group(lctrl_lalt_toggle) + grp:rctrl_ralt_toggle = +group(rctrl_ralt_toggle) + grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) + grp:ctrl_alt_toggle_bidir = +group(ctrl_alt_toggle_bidir) + grp:lctrl_lshift_toggle = +group(lctrl_lshift_toggle) + grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle) + grp:ctrl_shift_toggle = +group(ctrl_shift_toggle) + grp:ctrl_shift_toggle_bidir = +group(ctrl_shift_toggle_bidir) + grp:lalt_lshift_toggle = +group(lalt_lshift_toggle) + grp:ralt_rshift_toggle = +group(ralt_rshift_toggle) + grp:alt_shift_toggle = +group(alt_shift_toggle) + grp:alt_shift_toggle_bidir = +group(alt_shift_toggle_bidir) lv3:switch = +level3(switch) lv3:ralt_switch = +level3(ralt_switch) lv3:ralt_switch_multikey = +level3(ralt_switch_multikey) diff --git a/symbols/group b/symbols/group index d8c357a..fb2f879 100644 --- a/symbols/group +++ b/symbols/group @@ -85,51 +85,6 @@ xkb_symbols "shifts_toggle" { key { [ Shift_R, ISO_Next_Group ] }; }; -// using the group(ctrl_shift_toggle) map, pressing: -// Control_L+Shift_L locks the previous group -// Control_R+Shift_R locks the next group -// If you have two groups and group wrap is enabled, the effect is -// indistinguishable. -partial modifier_keys -xkb_symbols "ctrl_shift_toggle" { - key { - type[Group1]="PC_CONTROL_LEVEL2", - symbols[Group1]= [ Shift_L, ISO_Prev_Group ] - }; - key { - type[Group1]="PC_CONTROL_LEVEL2", - symbols[Group1]= [ Shift_R, ISO_Next_Group ] - }; - key { [ Control_L, ISO_Prev_Group ] }; - key { [ Control_R, ISO_Next_Group ] }; -}; - -// using the group(lctrl_lshift_toggle) map, pressing: -// Control_L+Shift_L locks the next group -// If you have two groups and group wrap is enabled, the effect is -// indistinguishable. -partial modifier_keys -xkb_symbols "lctrl_lshift_toggle" { - key { - type[Group1]="PC_CONTROL_LEVEL2", - symbols[Group1]= [ Shift_L, ISO_Next_Group ] - }; - key { [ Control_L, ISO_Next_Group ] }; -}; - -// using the group(rctrl_rshift_toggle) map, pressing: -// Control_R+Shift_R locks the next group -// If you have two groups and group wrap is enabled, the effect is -// indistinguishable. -partial modifier_keys -xkb_symbols "rctrl_rshift_toggle" { - key { - type[Group1]="PC_CONTROL_LEVEL2", - symbols[Group1]= [ Shift_R, ISO_Next_Group ] - }; - key { [ Control_R, ISO_Next_Group ] }; -}; - // using the group(shift_caps_toggle) map, pressing: // Shift+Caps Lock toggles group partial modifier_keys @@ -183,6 +138,49 @@ xkb_symbols "lctrl_rctrl_switch" { // +// CTRL-SHIFT toggle section +// +partial modifier_keys +xkb_symbols "lctrl_lshift_toggle" { + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1]= [ Shift_L, ISO_Next_Group ] + }; + key { [ Control_L, ISO_Next_Group ] }; +}; + +partial modifier_keys +xkb_symbols "lctrl_lshift_toggle_rev" { + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1]= [ Shift_L, ISO_Prev_Group ] + }; + key { [ Control_L, ISO_Prev_Group ] }; +}; + +partial modifier_keys +xkb_symbols "rctrl_rshift_toggle" { + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1]= [ Shift_R, ISO_Next_Group ] + }; + key { [ Control_R, ISO_Next_Group ] }; +}; + +partial modifier_keys +xkb_symbols "ctrl_shift_toggle" { + include "group(lctrl_lshift_toggle)" + include "group(rctrl_rshift_toggle)" +}; + +partial modifier_keys +xkb_symbols "ctrl_shift_toggle_bidir" { + include "group(lctrl_lshift_toggle_rev)" + include "group(rctrl_rshift_toggle)" +}; + + +// // CTRL-ALT toggle section // partial modifier_keys -- 2.7.4