146185892Smrg// The right Alt key (while pressed) chooses the next group. 2797b363dSmrgpartial modifier_keys 3154daed1Smrgxkb_symbols "switch" { 446185892Smrg key <RALT> {[ Mode_switch, Multi_key ]}; 5154daed1Smrg}; 6154daed1Smrg 746185892Smrg// The left Alt key (while pressed) chooses the next group. 8797b363dSmrgpartial modifier_keys 9154daed1Smrgxkb_symbols "lswitch" { 1046185892Smrg key <LALT> {[ Mode_switch, Multi_key ]}; 11154daed1Smrg}; 12154daed1Smrg 1346185892Smrg// The left Win key (while pressed) chooses the next group. 14154daed1Smrgpartial modifier_keys 1546185892Smrgxkb_symbols "lwin_switch" { 1646185892Smrg key <LWIN> {[ Mode_switch, Multi_key ]}; 17154daed1Smrg}; 18154daed1Smrg 1946185892Smrg// The right Win key (while pressed) chooses the next group. 20154daed1Smrgpartial modifier_keys 2146185892Smrgxkb_symbols "rwin_switch" { 2246185892Smrg key <RWIN> {[ Mode_switch, Multi_key ]}; 23154daed1Smrg}; 24154daed1Smrg 2546185892Smrg// Either Win key (while pressed) chooses the next group. 26154daed1Smrgpartial modifier_keys 2746185892Smrgxkb_symbols "win_switch" { 2846185892Smrg include "group(lwin_switch)" 2946185892Smrg include "group(rwin_switch)" 30154daed1Smrg}; 31154daed1Smrg 3246185892Smrg// The Menu key (while pressed) chooses the next group, 332ab00627Smrg// while Shift+Menu acts as Menu. 342ab00627Smrgpartial modifier_keys 352ab00627Smrgxkb_symbols "menu_switch" { 3646185892Smrg key <MENU> {[ Mode_switch, Menu ]}; 372ab00627Smrg}; 382ab00627Smrg 3946185892Smrg// The right Ctrl key (while pressed) chooses the next group. 40154daed1Smrgpartial modifier_keys 41154daed1Smrgxkb_symbols "rctrl_switch" { 4246185892Smrg key <RCTL> {[ Mode_switch ]}; 4346185892Smrg}; 4446185892Smrg 4546185892Smrg// The Caps_Lock key (while pressed) chooses the next group, 4646185892Smrg// while Alt+Caps_Lock toggles CapsLock. 4746185892Smrgpartial modifier_keys 4846185892Smrgxkb_symbols "caps_switch" { 4946185892Smrg key <CAPS> {[ Mode_switch, Caps_Lock ], type[group1] = "PC_ALT_LEVEL2" }; 50154daed1Smrg}; 51154daed1Smrg 52797b363dSmrg// Pressing the right Alt key switches to the next group. 53797b363dSmrgpartial modifier_keys 54154daed1Smrgxkb_symbols "toggle" { 5546185892Smrg key <RALT> {[ ISO_Next_Group ]}; 5646185892Smrg}; 5746185892Smrg 5846185892Smrg// Pressing the left Alt key switches to the next group. 5946185892Smrgpartial modifier_keys 6046185892Smrgxkb_symbols "lalt_toggle" { 6146185892Smrg key <LALT> {[ ISO_Next_Group ]}; 62154daed1Smrg}; 63154daed1Smrg 64797b363dSmrg// Pressing both Shift keys switches to the next or previous group 65797b363dSmrg// (depending on which Shift is pressed first). 66797b363dSmrgpartial modifier_keys 67154daed1Smrgxkb_symbols "shifts_toggle" { 6846185892Smrg key <LFSH> {[ Shift_L, ISO_Prev_Group ]}; 6946185892Smrg key <RTSH> {[ Shift_R, ISO_Next_Group ]}; 70154daed1Smrg}; 71154daed1Smrg 7246185892Smrg// Pressing Caps_Lock switches to the next group, 7346185892Smrg// while Shift+Caps_Lock toggles CapsLock. 7446185892Smrgpartial modifier_keys 7546185892Smrgxkb_symbols "caps_toggle" { 7646185892Smrg key <CAPS> {[ ISO_Next_Group, Caps_Lock ], type[group1] = "TWO_LEVEL" }; 7746185892Smrg}; 7846185892Smrg 7946185892Smrg// Pressing Shift+Caps_Lock switches to the next group, 8046185892Smrg// while plain Caps_Lock toggles CapsLock. 81154daed1Smrgpartial modifier_keys 82154daed1Smrgxkb_symbols "shift_caps_toggle" { 8346185892Smrg key <CAPS> {[ Caps_Lock, ISO_Next_Group ], type[group1] = "TWO_LEVEL" }; 84154daed1Smrg}; 85154daed1Smrg 8646185892Smrg// Pressing Alt+Space switches to the next group. 87154daed1Smrgpartial modifier_keys 8846185892Smrgxkb_symbols "alt_space_toggle" { 8946185892Smrg key <SPCE> {[ space, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" }; 90154daed1Smrg}; 91154daed1Smrg 9246185892Smrg// Pressing Win+Space switches to the next group. 9352a82186Smrgpartial modifier_keys 9452a82186Smrgxkb_symbols "win_space_toggle" { 9546185892Smrg key <SPCE> {[ space, ISO_Next_Group ], type[group1] = "PC_SUPER_LEVEL2" }; 9646185892Smrg}; 9746185892Smrg 9846185892Smrg// Pressing Ctrl+Space switches to the next group. 9946185892Smrgpartial modifier_keys 10046185892Smrgxkb_symbols "ctrl_space_toggle" { 10146185892Smrg key <SPCE> {[ space, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 10246185892Smrg}; 10346185892Smrg 10446185892Smrg 10546185892Smrg// Pressing Caps_Lock selects the first group, 10646185892Smrg// pressing Shift+Caps_Lock selects the second group. 10746185892Smrgpartial modifier_keys 10846185892Smrgxkb_symbols "caps_select" { 10946185892Smrg key <CAPS> {[ ISO_First_Group, ISO_Last_Group ], type[group1] = "TWO_LEVEL" }; 11052a82186Smrg}; 11152a82186Smrg 112797b363dSmrg// Pressing the left Win key selects the first group, 11346185892Smrg// pressing the right Win key or the Menu key selects the second group. 11446185892Smrgpartial modifier_keys 11546185892Smrgxkb_symbols "win_menu_select" { 11646185892Smrg key <LWIN> {[ ISO_First_Group ]}; 11746185892Smrg key <RWIN> {[ ISO_Last_Group ]}; 11846185892Smrg key <MENU> {[ ISO_Last_Group ]}; 119c067fea9Sghen}; 120c067fea9Sghen 121797b363dSmrg// Pressing the left Ctrl key selects the first group, 12246185892Smrg// pressing the right Ctrl key selects the second group. 123c067fea9Sghenpartial modifier_keys 12446185892Smrgxkb_symbols "ctrl_select" { 12546185892Smrg key <LCTL> {[ ISO_First_Group ]}; 12646185892Smrg key <RCTL> {[ ISO_Last_Group ]}; 127c067fea9Sghen}; 128c067fea9Sghen 1290412cdedSmrg 1300412cdedSmrg// 1310412cdedSmrg// CTRL-SHIFT toggle section 1320412cdedSmrg// 133797b363dSmrgpartial modifier_keys 1340412cdedSmrgxkb_symbols "lctrl_lshift_toggle" { 13546185892Smrg key <LFSH> {[ Shift_L, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 13646185892Smrg key <LCTL> {[ Control_L, ISO_Next_Group ]}; 1370412cdedSmrg}; 1380412cdedSmrg 139797b363dSmrgpartial modifier_keys 1400412cdedSmrgxkb_symbols "lctrl_lshift_toggle_rev" { 14146185892Smrg key <LFSH> {[ Shift_L, ISO_Prev_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 14246185892Smrg key <LCTL> {[ Control_L, ISO_Prev_Group ]}; 1430412cdedSmrg}; 1440412cdedSmrg 1450412cdedSmrgpartial modifier_keys 1460412cdedSmrgxkb_symbols "rctrl_rshift_toggle" { 14746185892Smrg key <RTSH> {[ Shift_R, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 14846185892Smrg key <RCTL> {[ Control_R, ISO_Next_Group ]}; 1490412cdedSmrg}; 1500412cdedSmrg 151797b363dSmrgpartial modifier_keys 1520412cdedSmrgxkb_symbols "ctrl_shift_toggle" { 1530412cdedSmrg include "group(lctrl_lshift_toggle)" 1540412cdedSmrg include "group(rctrl_rshift_toggle)" 1550412cdedSmrg}; 1560412cdedSmrg 157797b363dSmrgpartial modifier_keys 1580412cdedSmrgxkb_symbols "ctrl_shift_toggle_bidir" { 1590412cdedSmrg include "group(lctrl_lshift_toggle_rev)" 1600412cdedSmrg include "group(rctrl_rshift_toggle)" 1610412cdedSmrg}; 1620412cdedSmrg 1630412cdedSmrg 1640412cdedSmrg// 1650412cdedSmrg// CTRL-ALT toggle section 1660412cdedSmrg// 1670412cdedSmrgpartial modifier_keys 1680412cdedSmrgxkb_symbols "lctrl_lalt_toggle" { 16946185892Smrg key <LALT> {[ NoSymbol, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 17046185892Smrg key <LCTL> {[ Control_L, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" }; 1710412cdedSmrg}; 1720412cdedSmrg 1730412cdedSmrgpartial modifier_keys 1740412cdedSmrgxkb_symbols "lctrl_lalt_toggle_rev" { 17546185892Smrg key <LALT> {[ NoSymbol, ISO_Prev_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 17646185892Smrg key <LCTL> {[ Control_L, ISO_Prev_Group ], type[group1] = "PC_ALT_LEVEL2" }; 1770412cdedSmrg}; 1780412cdedSmrg 1790412cdedSmrgpartial modifier_keys 1800412cdedSmrgxkb_symbols "rctrl_ralt_toggle" { 18146185892Smrg key <RALT> {[ NoSymbol, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 18246185892Smrg key <RCTL> {[ Control_R, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" }; 183154daed1Smrg}; 184154daed1Smrg 185797b363dSmrgpartial modifier_keys 1860412cdedSmrgxkb_symbols "ctrl_alt_toggle" { 1870412cdedSmrg include "group(lctrl_lalt_toggle)" 1880412cdedSmrg include "group(rctrl_ralt_toggle)" 1890412cdedSmrg}; 1900412cdedSmrg 191797b363dSmrgpartial modifier_keys 1920412cdedSmrgxkb_symbols "ctrl_alt_toggle_bidir" { 1930412cdedSmrg include "group(lctrl_lalt_toggle_rev)" 1940412cdedSmrg include "group(rctrl_ralt_toggle)" 1950412cdedSmrg}; 1960412cdedSmrg 1970412cdedSmrg 1980412cdedSmrg// 1990412cdedSmrg// ALT-SHIFT toggle section 2000412cdedSmrg// 2010412cdedSmrgpartial modifier_keys 2020412cdedSmrgxkb_symbols "lalt_lshift_toggle" { 20346185892Smrg key <LALT> {[ NoSymbol, ISO_Next_Group ], type[group1] = "TWO_LEVEL" }; 20446185892Smrg key <LFSH> {[ Shift_L, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" }; 2050412cdedSmrg}; 2060412cdedSmrg 2070412cdedSmrgpartial modifier_keys 2080412cdedSmrgxkb_symbols "lalt_lshift_toggle_rev" { 20946185892Smrg key <LALT> {[ NoSymbol, ISO_Prev_Group ], type[group1] = "TWO_LEVEL" }; 21046185892Smrg key <LFSH> {[ Shift_L, ISO_Prev_Group ], type[group1] = "PC_ALT_LEVEL2" }; 2110412cdedSmrg}; 2120412cdedSmrg 2130412cdedSmrgpartial modifier_keys 2140412cdedSmrgxkb_symbols "ralt_rshift_toggle" { 21546185892Smrg key <RALT> {[ NoSymbol, ISO_Next_Group ], type[group1] = "TWO_LEVEL" }; 21646185892Smrg key <RTSH> {[ Shift_R, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" }; 217154daed1Smrg}; 218154daed1Smrg 219797b363dSmrgpartial modifier_keys 2200412cdedSmrgxkb_symbols "alt_shift_toggle" { 2210412cdedSmrg include "group(lalt_lshift_toggle)" 2220412cdedSmrg include "group(ralt_rshift_toggle)" 2230412cdedSmrg}; 2240412cdedSmrg 225797b363dSmrgpartial modifier_keys 2260412cdedSmrgxkb_symbols "alt_shift_toggle_bidir" { 2270412cdedSmrg include "group(lalt_lshift_toggle_rev)" 2280412cdedSmrg include "group(ralt_rshift_toggle)" 2290412cdedSmrg}; 2300412cdedSmrg 2310412cdedSmrg 232797b363dSmrg// Pressing the Menu key switches to the next group, 233797b363dSmrg// while Shift+Menu acts as Menu. 234154daed1Smrgpartial modifier_keys 235154daed1Smrgxkb_symbols "menu_toggle" { 23646185892Smrg key <MENU> {[ ISO_Next_Group, Menu ]}; 237154daed1Smrg}; 238154daed1Smrg 239797b363dSmrg// Pressing the left Win key switches to the next group. 240154daed1Smrgpartial modifier_keys 241154daed1Smrgxkb_symbols "lwin_toggle" { 24246185892Smrg key <LWIN> {[ ISO_Next_Group ]}; 243154daed1Smrg}; 244154daed1Smrg 245797b363dSmrg// Pressing the right Win key switches to the next group. 246154daed1Smrgpartial modifier_keys 247154daed1Smrgxkb_symbols "rwin_toggle" { 24846185892Smrg key <RWIN> {[ ISO_Next_Group ]}; 249154daed1Smrg}; 250154daed1Smrg 251797b363dSmrg// Pressing both Ctrl keys switches to the next or previous group 252797b363dSmrg// (depending on which Ctrl is pressed first). 253154daed1Smrgpartial modifier_keys 254154daed1Smrgxkb_symbols "ctrls_toggle" { 25546185892Smrg key <LCTL> {[ NoSymbol, ISO_Prev_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 25646185892Smrg key <RCTL> {[ NoSymbol, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 25746185892Smrg}; 25846185892Smrg 25946185892Smrg// Pressing both Alt keys switches to the next or previous group 260797b363dSmrg// (depending on which Alt is pressed first). 261154daed1Smrgpartial modifier_keys 262154daed1Smrgxkb_symbols "alts_toggle" { 26346185892Smrg key <LALT> {[ Alt_L, ISO_Prev_Group ], type[group1] = "PC_ALT_LEVEL2" }; 26446185892Smrg key <RALT> {[ Alt_R, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" }; 26546185892Smrg}; 26646185892Smrg 26746185892Smrg// Pressing Alt plus AltGr switches to the next or previous group 26846185892Smrg// (depending on which one is pressed first). 26946185892Smrgpartial modifier_keys 27046185892Smrgxkb_symbols "alt_altgr_toggle" { 27146185892Smrg key <LALT> {[ Alt_L, Alt_L, ISO_Prev_Group, ISO_Prev_Group ], 27246185892Smrg type[group1] = "FOUR_LEVEL" }; 27346185892Smrg key <RALT> {[ ISO_Level3_Shift, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" }; 274154daed1Smrg}; 275154daed1Smrg 276797b363dSmrg// Pressing the left Shift key switches to the next group. 277154daed1Smrgpartial modifier_keys 278154daed1Smrgxkb_symbols "lshift_toggle" { 27946185892Smrg key <LFSH> {[ ISO_Next_Group ]}; 280154daed1Smrg}; 281154daed1Smrg 282797b363dSmrg// Pressing the right Shift key switches to the next group. 283154daed1Smrgpartial modifier_keys 284154daed1Smrgxkb_symbols "rshift_toggle" { 28546185892Smrg key <RTSH> {[ ISO_Next_Group ]}; 286154daed1Smrg}; 287154daed1Smrg 288797b363dSmrg// Pressing the left Ctrl key switches to the next group. 289154daed1Smrgpartial modifier_keys 290154daed1Smrgxkb_symbols "lctrl_toggle" { 29146185892Smrg key <LCTL> {[ ISO_Next_Group ]}; 292154daed1Smrg}; 293154daed1Smrg 294797b363dSmrg// Pressing the right Ctrl key switches to the next group. 295154daed1Smrgpartial modifier_keys 296154daed1Smrgxkb_symbols "rctrl_toggle" { 29746185892Smrg key <RCTL> {[ ISO_Next_Group ]}; 298154daed1Smrg}; 299154daed1Smrg 300797b363dSmrg// Pressing Alt+Caps_Lock switches to the next group, 30146185892Smrg// while pressing Caps_Lock alone toggles CapsLock. 302154daed1Smrgpartial modifier_keys 303154daed1Smrgxkb_symbols "alt_caps_toggle" { 30446185892Smrg key <CAPS> {[ Caps_Lock, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" }; 305154daed1Smrg}; 306154daed1Smrg 30721fe479eSmrghidden partial modifier_keys 308154daed1Smrgxkb_symbols "olpc" { 30946185892Smrg key <I219> {[ ISO_Next_Group, ISO_Prev_Group ]}; 310154daed1Smrg}; 311154daed1Smrg 31246185892Smrg// Pressing the Scroll Lock key switches to the next group. 313c067fea9Sghenpartial modifier_keys 314c067fea9Sghenxkb_symbols "sclk_toggle" { 31546185892Smrg key <SCLK> {[ ISO_Next_Group ]}; 316c067fea9Sghen}; 317c067fea9Sghen 31846185892Smrg// Pressing Ctrl + the left Win key selects the first group, 31946185892Smrg// pressing Ctrl + the Menu key selects the second group. 320bfd7cbc1Smrgpartial modifier_keys 321bfd7cbc1Smrgxkb_symbols "lctrl_lwin_rctrl_menu" { 32246185892Smrg key <LWIN> {[ Super_L, ISO_First_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 32346185892Smrg key <MENU> {[ Menu, ISO_Last_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 324797b363dSmrg}; 325188967beSsnj 32646185892Smrg// Pressing Ctrl + the left Win key switches to the next group. 327188967beSsnjpartial modifier_keys 328188967beSsnjxkb_symbols "lctrl_lwin_toggle" { 32946185892Smrg key <LWIN> {[ Super_L, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" }; 330188967beSsnj}; 331