group revision 21fe479e
1797b363dSmrg// The right Alt key (while pressed) chooses the second keyboard group. 2797b363dSmrgpartial modifier_keys 3154daed1Smrgxkb_symbols "switch" { 4797b363dSmrg key <RALT> { 5797b363dSmrg symbols[Group1] = [ Mode_switch, Multi_key ], 6797b363dSmrg virtualMods= AltGr 7154daed1Smrg }; 8154daed1Smrg}; 9154daed1Smrg 10797b363dSmrg// The left Alt key (while pressed) chooses the second keyboard group. 11797b363dSmrgpartial modifier_keys 12154daed1Smrgxkb_symbols "lswitch" { 13797b363dSmrg key <LALT> { 14797b363dSmrg symbols[Group1] = [ Mode_switch, Multi_key ], 15797b363dSmrg virtualMods= AltGr 16154daed1Smrg }; 17154daed1Smrg}; 18154daed1Smrg 19797b363dSmrg// Either Win key (while pressed) chooses the second keyboard group. 20154daed1Smrgpartial modifier_keys 21154daed1Smrgxkb_symbols "win_switch" { 225a35480eSmrg include "group(lwin_switch)" 235a35480eSmrg include "group(rwin_switch)" 24154daed1Smrg}; 25154daed1Smrg 26797b363dSmrg// The left Win key (while pressed) chooses the second keyboard group. 27797b363dSmrg// (Using this map, you should declare your keyboard as pc101 or pc102 28797b363dSmrg// instead of pc104 or pc105.) 29154daed1Smrgpartial modifier_keys 30154daed1Smrgxkb_symbols "lwin_switch" { 31797b363dSmrg key <LWIN> { 32797b363dSmrg symbols[Group1] = [ Mode_switch, Multi_key ], 33797b363dSmrg virtualMods= AltGr 34154daed1Smrg }; 35154daed1Smrg}; 36154daed1Smrg 37797b363dSmrg// The right Win key (while pressed) chooses the second keyboard group. 38797b363dSmrg// (Using this map, you should declare your keyboard as pc101 or pc102 39797b363dSmrg// instead of pc104 or pc105.) 40154daed1Smrgpartial modifier_keys 41154daed1Smrgxkb_symbols "rwin_switch" { 42797b363dSmrg key <RWIN> { 43797b363dSmrg symbols[Group1] = [ Mode_switch, Multi_key ], 44797b363dSmrg virtualMods= AltGr 45154daed1Smrg }; 46154daed1Smrg}; 47154daed1Smrg 48797b363dSmrg// The right Ctrl key (while pressed) chooses the second keyboard group. 49797b363dSmrg// (Needed mainly for the Canadian keyboard.) 50154daed1Smrgpartial modifier_keys 51154daed1Smrgxkb_symbols "rctrl_switch" { 52797b363dSmrg key <RCTL> { 53797b363dSmrg symbols[Group1] = [ Mode_switch ] 54154daed1Smrg }; 55154daed1Smrg}; 56154daed1Smrg 57797b363dSmrg// Pressing the right Alt key switches to the next group. 58797b363dSmrgpartial modifier_keys 59154daed1Smrgxkb_symbols "toggle" { 60154daed1Smrg virtual_modifiers AltGr; 61797b363dSmrg key <RALT> { 62797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 63797b363dSmrg virtualMods= AltGr 64154daed1Smrg }; 65154daed1Smrg}; 66154daed1Smrg 67797b363dSmrg// Pressing both Shift keys switches to the next or previous group 68797b363dSmrg// (depending on which Shift is pressed first). 69797b363dSmrgpartial modifier_keys 70154daed1Smrgxkb_symbols "shifts_toggle" { 71797b363dSmrg key <LFSH> { [ Shift_L, ISO_Prev_Group ] }; 72797b363dSmrg key <RTSH> { [ Shift_R, ISO_Next_Group ] }; 73154daed1Smrg}; 74154daed1Smrg 75797b363dSmrg// Pressing Shift+Caps_Lock switches to the next group. 76154daed1Smrgpartial modifier_keys 77154daed1Smrgxkb_symbols "shift_caps_toggle" { 78797b363dSmrg key <CAPS> { [ Caps_Lock, ISO_Next_Group ] }; 79154daed1Smrg}; 80154daed1Smrg 81797b363dSmrg// Pressing Caps_Lock selects the first group, 82797b363dSmrg// pressing Shift+Caps_Lock selects the last group. 83154daed1Smrgpartial modifier_keys 84154daed1Smrgxkb_symbols "shift_caps_switch" { 85154daed1Smrg key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] }; 86154daed1Smrg}; 87154daed1Smrg 8852a82186Smrg// toggle using win + space as combo 8952a82186Smrgpartial modifier_keys 9052a82186Smrgxkb_symbols "win_space_toggle" { 9152a82186Smrg key <SPCE> { 9252a82186Smrg type[Group1]="PC_SUPER_LEVEL2", 9352a82186Smrg symbols[Group1]= [ space, ISO_Next_Group ] 9452a82186Smrg }; 9552a82186Smrg}; 9652a82186Smrg 97797b363dSmrg// Pressing the left Win key selects the first group, 98797b363dSmrg// pressing the right Win or the Menu key selects the last group. 99c067fea9Sghenpartial modifier_keys 100c067fea9Sghenxkb_symbols "win_menu_switch" { 101c067fea9Sghen virtual_modifiers AltGr; 102c067fea9Sghen key <LWIN> { 103c067fea9Sghen virtualMods= AltGr, 104c067fea9Sghen symbols[Group1] = [ ISO_First_Group ] 105c067fea9Sghen }; 106c067fea9Sghen key <MENU> { 107c067fea9Sghen virtualMods= AltGr, 108c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 109c067fea9Sghen }; 110c067fea9Sghen key <RWIN> { 111c067fea9Sghen virtualMods= AltGr, 112c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 113c067fea9Sghen }; 114c067fea9Sghen}; 115c067fea9Sghen 116797b363dSmrg// Pressing the left Ctrl key selects the first group, 117797b363dSmrg// pressing the right Ctrl key selects the last group. 118c067fea9Sghenpartial modifier_keys 119c067fea9Sghenxkb_symbols "lctrl_rctrl_switch" { 120c067fea9Sghen virtual_modifiers AltGr; 121c067fea9Sghen key <LCTL> { 122c067fea9Sghen virtualMods= AltGr, 123c067fea9Sghen symbols[Group1] = [ ISO_First_Group ] 124c067fea9Sghen }; 125c067fea9Sghen key <RCTL> { 126c067fea9Sghen virtualMods= AltGr, 127c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 128c067fea9Sghen }; 129c067fea9Sghen}; 130c067fea9Sghen 1310412cdedSmrg 1320412cdedSmrg// 1330412cdedSmrg// CTRL-SHIFT toggle section 1340412cdedSmrg// 135797b363dSmrgpartial modifier_keys 1360412cdedSmrgxkb_symbols "lctrl_lshift_toggle" { 1370412cdedSmrg key <LFSH> { 1380412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 139797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Next_Group ] 1400412cdedSmrg }; 1410412cdedSmrg key <LCTL> { [ Control_L, ISO_Next_Group ] }; 1420412cdedSmrg}; 1430412cdedSmrg 144797b363dSmrgpartial modifier_keys 1450412cdedSmrgxkb_symbols "lctrl_lshift_toggle_rev" { 1460412cdedSmrg key <LFSH> { 1470412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 148797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Prev_Group ] 1490412cdedSmrg }; 1500412cdedSmrg key <LCTL> { [ Control_L, ISO_Prev_Group ] }; 1510412cdedSmrg}; 1520412cdedSmrg 1530412cdedSmrgpartial modifier_keys 1540412cdedSmrgxkb_symbols "rctrl_rshift_toggle" { 1550412cdedSmrg key <RTSH> { 1560412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 157797b363dSmrg symbols[Group1] = [ Shift_R, ISO_Next_Group ] 1580412cdedSmrg }; 1590412cdedSmrg key <RCTL> { [ Control_R, ISO_Next_Group ] }; 1600412cdedSmrg}; 1610412cdedSmrg 162797b363dSmrgpartial modifier_keys 1630412cdedSmrgxkb_symbols "ctrl_shift_toggle" { 1640412cdedSmrg include "group(lctrl_lshift_toggle)" 1650412cdedSmrg include "group(rctrl_rshift_toggle)" 1660412cdedSmrg}; 1670412cdedSmrg 168797b363dSmrgpartial modifier_keys 1690412cdedSmrgxkb_symbols "ctrl_shift_toggle_bidir" { 1700412cdedSmrg include "group(lctrl_lshift_toggle_rev)" 1710412cdedSmrg include "group(rctrl_rshift_toggle)" 1720412cdedSmrg}; 1730412cdedSmrg 1740412cdedSmrg 1750412cdedSmrg// 1760412cdedSmrg// CTRL-ALT toggle section 1770412cdedSmrg// 1780412cdedSmrgpartial modifier_keys 1790412cdedSmrgxkb_symbols "lctrl_lalt_toggle" { 180154daed1Smrg virtual_modifiers Alt; 181154daed1Smrg key <LALT> { 1820412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 183797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 1840412cdedSmrg virtualMods= Alt 185154daed1Smrg }; 1860412cdedSmrg key <LCTL> { 1870412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 188797b363dSmrg symbols[Group1] = [ Control_L, ISO_Next_Group ] 1890412cdedSmrg }; 1900412cdedSmrg}; 1910412cdedSmrg 1920412cdedSmrgpartial modifier_keys 1930412cdedSmrgxkb_symbols "lctrl_lalt_toggle_rev" { 1940412cdedSmrg virtual_modifiers Alt; 1950412cdedSmrg key <LALT> { 1960412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 197797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 1980412cdedSmrg virtualMods= Alt 199154daed1Smrg }; 200154daed1Smrg key <LCTL> { 2010412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 202797b363dSmrg symbols[Group1] = [ Control_L, ISO_Prev_Group ] 2030412cdedSmrg }; 2040412cdedSmrg}; 2050412cdedSmrg 2060412cdedSmrgpartial modifier_keys 2070412cdedSmrgxkb_symbols "rctrl_ralt_toggle" { 2080412cdedSmrg virtual_modifiers Alt; 2090412cdedSmrg key <RALT> { 2100412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 211797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 2120412cdedSmrg virtualMods= Alt 213154daed1Smrg }; 214154daed1Smrg key <RCTL> { 2150412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 216797b363dSmrg symbols[Group1] = [ Control_R, ISO_Next_Group ] 217154daed1Smrg }; 218154daed1Smrg}; 219154daed1Smrg 220797b363dSmrgpartial modifier_keys 2210412cdedSmrgxkb_symbols "ctrl_alt_toggle" { 2220412cdedSmrg include "group(lctrl_lalt_toggle)" 2230412cdedSmrg include "group(rctrl_ralt_toggle)" 2240412cdedSmrg}; 2250412cdedSmrg 226797b363dSmrgpartial modifier_keys 2270412cdedSmrgxkb_symbols "ctrl_alt_toggle_bidir" { 2280412cdedSmrg include "group(lctrl_lalt_toggle_rev)" 2290412cdedSmrg include "group(rctrl_ralt_toggle)" 2300412cdedSmrg}; 2310412cdedSmrg 2320412cdedSmrg 2330412cdedSmrg// 2340412cdedSmrg// ALT-SHIFT toggle section 2350412cdedSmrg// 2360412cdedSmrgpartial modifier_keys 2370412cdedSmrgxkb_symbols "lalt_lshift_toggle" { 238154daed1Smrg virtual_modifiers Alt; 239154daed1Smrg key <LALT> { 240797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 2410412cdedSmrg virtualMods= Alt 242154daed1Smrg }; 2430412cdedSmrg key <LFSH> { 2440412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 245797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Next_Group ] 2460412cdedSmrg }; 2470412cdedSmrg}; 2480412cdedSmrg 2490412cdedSmrgpartial modifier_keys 2500412cdedSmrgxkb_symbols "lalt_lshift_toggle_rev" { 2510412cdedSmrg virtual_modifiers Alt; 2520412cdedSmrg key <LALT> { 253797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 2540412cdedSmrg virtualMods= Alt 255154daed1Smrg }; 256154daed1Smrg key <LFSH> { 2570412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 258797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Prev_Group ] 2590412cdedSmrg }; 2600412cdedSmrg}; 2610412cdedSmrg 2620412cdedSmrgpartial modifier_keys 2630412cdedSmrgxkb_symbols "ralt_rshift_toggle" { 2640412cdedSmrg virtual_modifiers Alt; 2650412cdedSmrg key <RALT> { 266797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 2670412cdedSmrg virtualMods= Alt 268154daed1Smrg }; 269154daed1Smrg key <RTSH> { 2700412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 271797b363dSmrg symbols[Group1] = [ Shift_R, ISO_Next_Group ] 272154daed1Smrg }; 273154daed1Smrg}; 274154daed1Smrg 275797b363dSmrgpartial modifier_keys 2760412cdedSmrgxkb_symbols "alt_shift_toggle" { 2770412cdedSmrg include "group(lalt_lshift_toggle)" 2780412cdedSmrg include "group(ralt_rshift_toggle)" 2790412cdedSmrg}; 2800412cdedSmrg 281797b363dSmrgpartial modifier_keys 2820412cdedSmrgxkb_symbols "alt_shift_toggle_bidir" { 2830412cdedSmrg include "group(lalt_lshift_toggle_rev)" 2840412cdedSmrg include "group(ralt_rshift_toggle)" 2850412cdedSmrg}; 2860412cdedSmrg 2870412cdedSmrg 288797b363dSmrg// Pressing the Menu key switches to the next group, 289797b363dSmrg// while Shift+Menu acts as Menu. 290154daed1Smrgpartial modifier_keys 291154daed1Smrgxkb_symbols "menu_toggle" { 292797b363dSmrg key <MENU> { [ ISO_Next_Group, Menu ] }; 293154daed1Smrg}; 294154daed1Smrg 295797b363dSmrg// Pressing the left Win key switches to the next group. 296797b363dSmrg// (Using this map, you should declare your keyboard as 297797b363dSmrg// pc101 or pc102 instead of pc104 or pc105.) 298154daed1Smrgpartial modifier_keys 299154daed1Smrgxkb_symbols "lwin_toggle" { 300797b363dSmrg virtual_modifiers AltGr; 301797b363dSmrg key <LWIN> { 302797b363dSmrg virtualMods= AltGr, 303797b363dSmrg symbols[Group1] = [ ISO_Next_Group ] 304154daed1Smrg }; 305154daed1Smrg}; 306154daed1Smrg 307797b363dSmrg// Pressing the right Win key switches to the next group. 308797b363dSmrg// (Using this map, you should declare your keyboard as 309797b363dSmrg// pc101 or pc102 instead of pc104 or pc105.) 310154daed1Smrgpartial modifier_keys 311154daed1Smrgxkb_symbols "rwin_toggle" { 312797b363dSmrg virtual_modifiers AltGr; 313797b363dSmrg key <RWIN> { 314797b363dSmrg virtualMods= AltGr, 315797b363dSmrg symbols[Group1] = [ ISO_Next_Group ] 316154daed1Smrg }; 317154daed1Smrg}; 318154daed1Smrg 319797b363dSmrg// Pressing both Ctrl keys switches to the next or previous group 320797b363dSmrg// (depending on which Ctrl is pressed first). 321154daed1Smrgpartial modifier_keys 322154daed1Smrgxkb_symbols "ctrls_toggle" { 323797b363dSmrg virtual_modifiers LControl, RControl; 324154daed1Smrg key <LCTL> { 325797b363dSmrg type[Group1]="PC_RCONTROL_LEVEL2", 326797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 327797b363dSmrg virtualMods= LControl 328154daed1Smrg }; 329154daed1Smrg key <RCTL> { 330797b363dSmrg type[Group1]="PC_LCONTROL_LEVEL2", 331797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 332797b363dSmrg virtualMods= RControl 333154daed1Smrg }; 334154daed1Smrg}; 335154daed1Smrg 336797b363dSmrg// Pressing both Alt keys switches to the next or previous group 337797b363dSmrg// (depending on which Alt is pressed first). 338154daed1Smrgpartial modifier_keys 339154daed1Smrgxkb_symbols "alts_toggle" { 340797b363dSmrg virtual_modifiers LAlt, RAlt; 341154daed1Smrg key <LALT> { 342797b363dSmrg type[Group1]="PC_RALT_LEVEL2", 343797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 344797b363dSmrg virtualMods= LAlt 345154daed1Smrg }; 346154daed1Smrg key <RALT> { 347797b363dSmrg type[Group1]="PC_LALT_LEVEL2", 348797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 349797b363dSmrg virtualMods= RAlt 350154daed1Smrg }; 351154daed1Smrg}; 352154daed1Smrg 353797b363dSmrg// Pressing the left Shift key switches to the next group. 354154daed1Smrgpartial modifier_keys 355154daed1Smrgxkb_symbols "lshift_toggle" { 356797b363dSmrg virtual_modifiers AltGr; 357797b363dSmrg key <LFSH> { 358797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 359797b363dSmrg virtualMods= AltGr 360154daed1Smrg }; 361154daed1Smrg}; 362154daed1Smrg 363797b363dSmrg// Pressing the right Shift key switches to the next group. 364154daed1Smrgpartial modifier_keys 365154daed1Smrgxkb_symbols "rshift_toggle" { 366797b363dSmrg virtual_modifiers AltGr; 367797b363dSmrg key <RTSH> { 368797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 369797b363dSmrg virtualMods= AltGr 370154daed1Smrg }; 371154daed1Smrg}; 372154daed1Smrg 373797b363dSmrg// Pressing the left Alt key switches to the next group. 374154daed1Smrgpartial modifier_keys 375154daed1Smrgxkb_symbols "lalt_toggle" { 376797b363dSmrg virtual_modifiers AltGr; 377797b363dSmrg key <LALT> { 378797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 379797b363dSmrg virtualMods= AltGr 380154daed1Smrg }; 381154daed1Smrg}; 382154daed1Smrg 383797b363dSmrg// Pressing the left Ctrl key switches to the next group. 384154daed1Smrgpartial modifier_keys 385154daed1Smrgxkb_symbols "lctrl_toggle" { 386797b363dSmrg virtual_modifiers AltGr; 387797b363dSmrg key <LCTL> { 388797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 389797b363dSmrg virtualMods= AltGr 390154daed1Smrg }; 391154daed1Smrg}; 392154daed1Smrg 393797b363dSmrg// Pressing the right Ctrl key switches to the next group. 394154daed1Smrgpartial modifier_keys 395154daed1Smrgxkb_symbols "rctrl_toggle" { 396797b363dSmrg virtual_modifiers AltGr; 397797b363dSmrg key <RCTL> { 398797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 399797b363dSmrg virtualMods= AltGr 400154daed1Smrg }; 401154daed1Smrg}; 402154daed1Smrg 403797b363dSmrg// Pressing Alt+Caps_Lock switches to the next group, 404797b363dSmrg// pressing Caps_Lock toggles CapsLock. 405154daed1Smrgpartial modifier_keys 406154daed1Smrgxkb_symbols "alt_caps_toggle" { 407797b363dSmrg key <CAPS> { 408154daed1Smrg type="PC_ALT_LEVEL2", 409797b363dSmrg symbols[Group1] = [ Caps_Lock, ISO_Next_Group ] 410154daed1Smrg }; 411154daed1Smrg}; 412154daed1Smrg 41321fe479eSmrghidden partial modifier_keys 414154daed1Smrgxkb_symbols "olpc" { 415797b363dSmrg key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] }; 416154daed1Smrg}; 417154daed1Smrg 418c067fea9Sghenpartial modifier_keys 419c067fea9Sghenxkb_symbols "alt_space_toggle" { 420c067fea9Sghen key <SPCE> { 421797b363dSmrg type[Group1]="PC_ALT_LEVEL2", 422797b363dSmrg symbols[Group1] = [ space, ISO_Next_Group ] 423c067fea9Sghen }; 424c067fea9Sghen}; 425c067fea9Sghen 426797b363dSmrg// Pressing the Scroll Lock key switches to the next group, 427c067fea9Sghenpartial modifier_keys 428c067fea9Sghenxkb_symbols "sclk_toggle" { 429797b363dSmrg virtual_modifiers AltGr; 430797b363dSmrg key <SCLK> { 431797b363dSmrg virtualMods= AltGr, 432797b363dSmrg symbols[Group1] = [ ISO_Next_Group ] 433c067fea9Sghen }; 434c067fea9Sghen}; 435c067fea9Sghen 436797b363dSmrg// Control_L+Win_L selects the first group (presumably Lat), 437797b363dSmrg// Control_R+Menu selects the second group (presumably Rus). 438bfd7cbc1Smrgpartial modifier_keys 439bfd7cbc1Smrgxkb_symbols "lctrl_lwin_rctrl_menu" { 440bfd7cbc1Smrg key <LWIN> { 441797b363dSmrg type[Group1] = "PC_CONTROL_LEVEL2", 442797b363dSmrg symbols[Group1] = [ Super_L, ISO_First_Group ] 443bfd7cbc1Smrg }; 444bfd7cbc1Smrg key <MENU> { 445797b363dSmrg type[Group1] = "PC_CONTROL_LEVEL2", 446797b363dSmrg symbols[Group1] = [ Menu, ISO_Last_Group ] 447bfd7cbc1Smrg }; 448797b363dSmrg}; 449