group revision 188967be
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> { 92188967beSsnj type="PC_SUPER_LEVEL2", 93188967beSsnj symbols[Group1]= [ space, ISO_Next_Group ], 94188967beSsnj symbols[Group2]= [ space, ISO_Next_Group ] 9552a82186Smrg }; 9652a82186Smrg}; 9752a82186Smrg 98797b363dSmrg// Pressing the left Win key selects the first group, 99797b363dSmrg// pressing the right Win or the Menu key selects the last group. 100c067fea9Sghenpartial modifier_keys 101c067fea9Sghenxkb_symbols "win_menu_switch" { 102c067fea9Sghen virtual_modifiers AltGr; 103c067fea9Sghen key <LWIN> { 104c067fea9Sghen virtualMods= AltGr, 105c067fea9Sghen symbols[Group1] = [ ISO_First_Group ] 106c067fea9Sghen }; 107c067fea9Sghen key <MENU> { 108c067fea9Sghen virtualMods= AltGr, 109c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 110c067fea9Sghen }; 111c067fea9Sghen key <RWIN> { 112c067fea9Sghen virtualMods= AltGr, 113c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 114c067fea9Sghen }; 115c067fea9Sghen}; 116c067fea9Sghen 117797b363dSmrg// Pressing the left Ctrl key selects the first group, 118797b363dSmrg// pressing the right Ctrl key selects the last group. 119c067fea9Sghenpartial modifier_keys 120c067fea9Sghenxkb_symbols "lctrl_rctrl_switch" { 121c067fea9Sghen virtual_modifiers AltGr; 122c067fea9Sghen key <LCTL> { 123c067fea9Sghen virtualMods= AltGr, 124c067fea9Sghen symbols[Group1] = [ ISO_First_Group ] 125c067fea9Sghen }; 126c067fea9Sghen key <RCTL> { 127c067fea9Sghen virtualMods= AltGr, 128c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 129c067fea9Sghen }; 130c067fea9Sghen}; 131c067fea9Sghen 1320412cdedSmrg 1330412cdedSmrg// 1340412cdedSmrg// CTRL-SHIFT toggle section 1350412cdedSmrg// 136797b363dSmrgpartial modifier_keys 1370412cdedSmrgxkb_symbols "lctrl_lshift_toggle" { 1380412cdedSmrg key <LFSH> { 1390412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 140797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Next_Group ] 1410412cdedSmrg }; 1420412cdedSmrg key <LCTL> { [ Control_L, ISO_Next_Group ] }; 1430412cdedSmrg}; 1440412cdedSmrg 145797b363dSmrgpartial modifier_keys 1460412cdedSmrgxkb_symbols "lctrl_lshift_toggle_rev" { 1470412cdedSmrg key <LFSH> { 1480412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 149797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Prev_Group ] 1500412cdedSmrg }; 1510412cdedSmrg key <LCTL> { [ Control_L, ISO_Prev_Group ] }; 1520412cdedSmrg}; 1530412cdedSmrg 1540412cdedSmrgpartial modifier_keys 1550412cdedSmrgxkb_symbols "rctrl_rshift_toggle" { 1560412cdedSmrg key <RTSH> { 1570412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 158797b363dSmrg symbols[Group1] = [ Shift_R, ISO_Next_Group ] 1590412cdedSmrg }; 1600412cdedSmrg key <RCTL> { [ Control_R, ISO_Next_Group ] }; 1610412cdedSmrg}; 1620412cdedSmrg 163797b363dSmrgpartial modifier_keys 1640412cdedSmrgxkb_symbols "ctrl_shift_toggle" { 1650412cdedSmrg include "group(lctrl_lshift_toggle)" 1660412cdedSmrg include "group(rctrl_rshift_toggle)" 1670412cdedSmrg}; 1680412cdedSmrg 169797b363dSmrgpartial modifier_keys 1700412cdedSmrgxkb_symbols "ctrl_shift_toggle_bidir" { 1710412cdedSmrg include "group(lctrl_lshift_toggle_rev)" 1720412cdedSmrg include "group(rctrl_rshift_toggle)" 1730412cdedSmrg}; 1740412cdedSmrg 1750412cdedSmrg 1760412cdedSmrg// 1770412cdedSmrg// CTRL-ALT toggle section 1780412cdedSmrg// 1790412cdedSmrgpartial modifier_keys 1800412cdedSmrgxkb_symbols "lctrl_lalt_toggle" { 181154daed1Smrg virtual_modifiers Alt; 182154daed1Smrg key <LALT> { 1830412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 184797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 1850412cdedSmrg virtualMods= Alt 186154daed1Smrg }; 1870412cdedSmrg key <LCTL> { 1880412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 189797b363dSmrg symbols[Group1] = [ Control_L, ISO_Next_Group ] 1900412cdedSmrg }; 1910412cdedSmrg}; 1920412cdedSmrg 1930412cdedSmrgpartial modifier_keys 1940412cdedSmrgxkb_symbols "lctrl_lalt_toggle_rev" { 1950412cdedSmrg virtual_modifiers Alt; 1960412cdedSmrg key <LALT> { 1970412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 198797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 1990412cdedSmrg virtualMods= Alt 200154daed1Smrg }; 201154daed1Smrg key <LCTL> { 2020412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 203797b363dSmrg symbols[Group1] = [ Control_L, ISO_Prev_Group ] 2040412cdedSmrg }; 2050412cdedSmrg}; 2060412cdedSmrg 2070412cdedSmrgpartial modifier_keys 2080412cdedSmrgxkb_symbols "rctrl_ralt_toggle" { 2090412cdedSmrg virtual_modifiers Alt; 2100412cdedSmrg key <RALT> { 2110412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 212797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 2130412cdedSmrg virtualMods= Alt 214154daed1Smrg }; 215154daed1Smrg key <RCTL> { 2160412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 217797b363dSmrg symbols[Group1] = [ Control_R, ISO_Next_Group ] 218154daed1Smrg }; 219154daed1Smrg}; 220154daed1Smrg 221797b363dSmrgpartial modifier_keys 2220412cdedSmrgxkb_symbols "ctrl_alt_toggle" { 2230412cdedSmrg include "group(lctrl_lalt_toggle)" 2240412cdedSmrg include "group(rctrl_ralt_toggle)" 2250412cdedSmrg}; 2260412cdedSmrg 227797b363dSmrgpartial modifier_keys 2280412cdedSmrgxkb_symbols "ctrl_alt_toggle_bidir" { 2290412cdedSmrg include "group(lctrl_lalt_toggle_rev)" 2300412cdedSmrg include "group(rctrl_ralt_toggle)" 2310412cdedSmrg}; 2320412cdedSmrg 2330412cdedSmrg 2340412cdedSmrg// 2350412cdedSmrg// ALT-SHIFT toggle section 2360412cdedSmrg// 2370412cdedSmrgpartial modifier_keys 2380412cdedSmrgxkb_symbols "lalt_lshift_toggle" { 239154daed1Smrg virtual_modifiers Alt; 240154daed1Smrg key <LALT> { 241797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 2420412cdedSmrg virtualMods= Alt 243154daed1Smrg }; 2440412cdedSmrg key <LFSH> { 2450412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 246797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Next_Group ] 2470412cdedSmrg }; 2480412cdedSmrg}; 2490412cdedSmrg 2500412cdedSmrgpartial modifier_keys 2510412cdedSmrgxkb_symbols "lalt_lshift_toggle_rev" { 2520412cdedSmrg virtual_modifiers Alt; 2530412cdedSmrg key <LALT> { 254797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 2550412cdedSmrg virtualMods= Alt 256154daed1Smrg }; 257154daed1Smrg key <LFSH> { 2580412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 259797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Prev_Group ] 2600412cdedSmrg }; 2610412cdedSmrg}; 2620412cdedSmrg 2630412cdedSmrgpartial modifier_keys 2640412cdedSmrgxkb_symbols "ralt_rshift_toggle" { 2650412cdedSmrg virtual_modifiers Alt; 2660412cdedSmrg key <RALT> { 267797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 2680412cdedSmrg virtualMods= Alt 269154daed1Smrg }; 270154daed1Smrg key <RTSH> { 2710412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 272797b363dSmrg symbols[Group1] = [ Shift_R, ISO_Next_Group ] 273154daed1Smrg }; 274154daed1Smrg}; 275154daed1Smrg 276797b363dSmrgpartial modifier_keys 2770412cdedSmrgxkb_symbols "alt_shift_toggle" { 2780412cdedSmrg include "group(lalt_lshift_toggle)" 2790412cdedSmrg include "group(ralt_rshift_toggle)" 2800412cdedSmrg}; 2810412cdedSmrg 282797b363dSmrgpartial modifier_keys 2830412cdedSmrgxkb_symbols "alt_shift_toggle_bidir" { 2840412cdedSmrg include "group(lalt_lshift_toggle_rev)" 2850412cdedSmrg include "group(ralt_rshift_toggle)" 2860412cdedSmrg}; 2870412cdedSmrg 2880412cdedSmrg 289797b363dSmrg// Pressing the Menu key switches to the next group, 290797b363dSmrg// while Shift+Menu acts as Menu. 291154daed1Smrgpartial modifier_keys 292154daed1Smrgxkb_symbols "menu_toggle" { 293797b363dSmrg key <MENU> { [ ISO_Next_Group, Menu ] }; 294154daed1Smrg}; 295154daed1Smrg 296797b363dSmrg// Pressing the left Win key switches to the next group. 297797b363dSmrg// (Using this map, you should declare your keyboard as 298797b363dSmrg// pc101 or pc102 instead of pc104 or pc105.) 299154daed1Smrgpartial modifier_keys 300154daed1Smrgxkb_symbols "lwin_toggle" { 301797b363dSmrg virtual_modifiers AltGr; 302797b363dSmrg key <LWIN> { 303797b363dSmrg virtualMods= AltGr, 304797b363dSmrg symbols[Group1] = [ ISO_Next_Group ] 305154daed1Smrg }; 306154daed1Smrg}; 307154daed1Smrg 308797b363dSmrg// Pressing the right Win key switches to the next group. 309797b363dSmrg// (Using this map, you should declare your keyboard as 310797b363dSmrg// pc101 or pc102 instead of pc104 or pc105.) 311154daed1Smrgpartial modifier_keys 312154daed1Smrgxkb_symbols "rwin_toggle" { 313797b363dSmrg virtual_modifiers AltGr; 314797b363dSmrg key <RWIN> { 315797b363dSmrg virtualMods= AltGr, 316797b363dSmrg symbols[Group1] = [ ISO_Next_Group ] 317154daed1Smrg }; 318154daed1Smrg}; 319154daed1Smrg 320797b363dSmrg// Pressing both Ctrl keys switches to the next or previous group 321797b363dSmrg// (depending on which Ctrl is pressed first). 322154daed1Smrgpartial modifier_keys 323154daed1Smrgxkb_symbols "ctrls_toggle" { 324797b363dSmrg virtual_modifiers LControl, RControl; 325154daed1Smrg key <LCTL> { 326188967beSsnj type[Group1]="PC_CONTROL_LEVEL2", 327797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 328797b363dSmrg virtualMods= LControl 329154daed1Smrg }; 330154daed1Smrg key <RCTL> { 331188967beSsnj type[Group1]="PC_CONTROL_LEVEL2", 332797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 333797b363dSmrg virtualMods= RControl 334154daed1Smrg }; 335154daed1Smrg}; 336154daed1Smrg 337797b363dSmrg// Pressing both Alt keys switches to the next or previous group 338797b363dSmrg// (depending on which Alt is pressed first). 339154daed1Smrgpartial modifier_keys 340154daed1Smrgxkb_symbols "alts_toggle" { 341797b363dSmrg virtual_modifiers LAlt, RAlt; 342154daed1Smrg key <LALT> { 343797b363dSmrg type[Group1]="PC_RALT_LEVEL2", 344797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 345797b363dSmrg virtualMods= LAlt 346154daed1Smrg }; 347154daed1Smrg key <RALT> { 348797b363dSmrg type[Group1]="PC_LALT_LEVEL2", 349797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 350797b363dSmrg virtualMods= RAlt 351154daed1Smrg }; 352154daed1Smrg}; 353154daed1Smrg 354797b363dSmrg// Pressing the left Shift key switches to the next group. 355154daed1Smrgpartial modifier_keys 356154daed1Smrgxkb_symbols "lshift_toggle" { 357797b363dSmrg virtual_modifiers AltGr; 358797b363dSmrg key <LFSH> { 359797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 360797b363dSmrg virtualMods= AltGr 361154daed1Smrg }; 362154daed1Smrg}; 363154daed1Smrg 364797b363dSmrg// Pressing the right Shift key switches to the next group. 365154daed1Smrgpartial modifier_keys 366154daed1Smrgxkb_symbols "rshift_toggle" { 367797b363dSmrg virtual_modifiers AltGr; 368797b363dSmrg key <RTSH> { 369797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 370797b363dSmrg virtualMods= AltGr 371154daed1Smrg }; 372154daed1Smrg}; 373154daed1Smrg 374797b363dSmrg// Pressing the left Alt key switches to the next group. 375154daed1Smrgpartial modifier_keys 376154daed1Smrgxkb_symbols "lalt_toggle" { 377797b363dSmrg virtual_modifiers AltGr; 378797b363dSmrg key <LALT> { 379797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 380797b363dSmrg virtualMods= AltGr 381154daed1Smrg }; 382154daed1Smrg}; 383154daed1Smrg 384797b363dSmrg// Pressing the left Ctrl key switches to the next group. 385154daed1Smrgpartial modifier_keys 386154daed1Smrgxkb_symbols "lctrl_toggle" { 387797b363dSmrg virtual_modifiers AltGr; 388797b363dSmrg key <LCTL> { 389797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 390797b363dSmrg virtualMods= AltGr 391154daed1Smrg }; 392154daed1Smrg}; 393154daed1Smrg 394797b363dSmrg// Pressing the right Ctrl key switches to the next group. 395154daed1Smrgpartial modifier_keys 396154daed1Smrgxkb_symbols "rctrl_toggle" { 397797b363dSmrg virtual_modifiers AltGr; 398797b363dSmrg key <RCTL> { 399797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 400797b363dSmrg virtualMods= AltGr 401154daed1Smrg }; 402154daed1Smrg}; 403154daed1Smrg 404797b363dSmrg// Pressing Alt+Caps_Lock switches to the next group, 405797b363dSmrg// pressing Caps_Lock toggles CapsLock. 406154daed1Smrgpartial modifier_keys 407154daed1Smrgxkb_symbols "alt_caps_toggle" { 408797b363dSmrg key <CAPS> { 409154daed1Smrg type="PC_ALT_LEVEL2", 410797b363dSmrg symbols[Group1] = [ Caps_Lock, ISO_Next_Group ] 411154daed1Smrg }; 412154daed1Smrg}; 413154daed1Smrg 41421fe479eSmrghidden partial modifier_keys 415154daed1Smrgxkb_symbols "olpc" { 416797b363dSmrg key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] }; 417154daed1Smrg}; 418154daed1Smrg 419c067fea9Sghenpartial modifier_keys 420c067fea9Sghenxkb_symbols "alt_space_toggle" { 421c067fea9Sghen key <SPCE> { 422797b363dSmrg type[Group1]="PC_ALT_LEVEL2", 423797b363dSmrg symbols[Group1] = [ space, ISO_Next_Group ] 424c067fea9Sghen }; 425c067fea9Sghen}; 426c067fea9Sghen 427797b363dSmrg// Pressing the Scroll Lock key switches to the next group, 428c067fea9Sghenpartial modifier_keys 429c067fea9Sghenxkb_symbols "sclk_toggle" { 430797b363dSmrg virtual_modifiers AltGr; 431797b363dSmrg key <SCLK> { 432797b363dSmrg virtualMods= AltGr, 433797b363dSmrg symbols[Group1] = [ ISO_Next_Group ] 434c067fea9Sghen }; 435c067fea9Sghen}; 436c067fea9Sghen 437797b363dSmrg// Control_L+Win_L selects the first group (presumably Lat), 438797b363dSmrg// Control_R+Menu selects the second group (presumably Rus). 439bfd7cbc1Smrgpartial modifier_keys 440bfd7cbc1Smrgxkb_symbols "lctrl_lwin_rctrl_menu" { 441bfd7cbc1Smrg key <LWIN> { 442797b363dSmrg type[Group1] = "PC_CONTROL_LEVEL2", 443797b363dSmrg symbols[Group1] = [ Super_L, ISO_First_Group ] 444bfd7cbc1Smrg }; 445bfd7cbc1Smrg key <MENU> { 446797b363dSmrg type[Group1] = "PC_CONTROL_LEVEL2", 447797b363dSmrg symbols[Group1] = [ Menu, ISO_Last_Group ] 448bfd7cbc1Smrg }; 449797b363dSmrg}; 450188967beSsnj 451188967beSsnj// Control_L+Win_L toggles groups. 452188967beSsnjpartial modifier_keys 453188967beSsnjxkb_symbols "lctrl_lwin_toggle" { 454188967beSsnj key <LWIN> { 455188967beSsnj type[ Group1 ] = "PC_CONTROL_LEVEL2", 456188967beSsnj symbols[ Group1 ] = [ Super_L, ISO_Next_Group ] 457188967beSsnj }; 458188967beSsnj}; 459188967beSsnj 460