group revision 797b363d
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 88797b363dSmrg// Pressing the left Win key selects the first group, 89797b363dSmrg// pressing the right Win or the Menu key selects the last group. 90c067fea9Sghenpartial modifier_keys 91c067fea9Sghenxkb_symbols "win_menu_switch" { 92c067fea9Sghen virtual_modifiers AltGr; 93c067fea9Sghen key <LWIN> { 94c067fea9Sghen virtualMods= AltGr, 95c067fea9Sghen symbols[Group1] = [ ISO_First_Group ] 96c067fea9Sghen }; 97c067fea9Sghen key <MENU> { 98c067fea9Sghen virtualMods= AltGr, 99c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 100c067fea9Sghen }; 101c067fea9Sghen key <RWIN> { 102c067fea9Sghen virtualMods= AltGr, 103c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 104c067fea9Sghen }; 105c067fea9Sghen}; 106c067fea9Sghen 107797b363dSmrg// Pressing the left Ctrl key selects the first group, 108797b363dSmrg// pressing the right Ctrl key selects the last group. 109c067fea9Sghenpartial modifier_keys 110c067fea9Sghenxkb_symbols "lctrl_rctrl_switch" { 111c067fea9Sghen virtual_modifiers AltGr; 112c067fea9Sghen key <LCTL> { 113c067fea9Sghen virtualMods= AltGr, 114c067fea9Sghen symbols[Group1] = [ ISO_First_Group ] 115c067fea9Sghen }; 116c067fea9Sghen key <RCTL> { 117c067fea9Sghen virtualMods= AltGr, 118c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 119c067fea9Sghen }; 120c067fea9Sghen}; 121c067fea9Sghen 1220412cdedSmrg 1230412cdedSmrg// 1240412cdedSmrg// CTRL-SHIFT toggle section 1250412cdedSmrg// 126797b363dSmrgpartial modifier_keys 1270412cdedSmrgxkb_symbols "lctrl_lshift_toggle" { 1280412cdedSmrg key <LFSH> { 1290412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 130797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Next_Group ] 1310412cdedSmrg }; 1320412cdedSmrg key <LCTL> { [ Control_L, ISO_Next_Group ] }; 1330412cdedSmrg}; 1340412cdedSmrg 135797b363dSmrgpartial modifier_keys 1360412cdedSmrgxkb_symbols "lctrl_lshift_toggle_rev" { 1370412cdedSmrg key <LFSH> { 1380412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 139797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Prev_Group ] 1400412cdedSmrg }; 1410412cdedSmrg key <LCTL> { [ Control_L, ISO_Prev_Group ] }; 1420412cdedSmrg}; 1430412cdedSmrg 1440412cdedSmrgpartial modifier_keys 1450412cdedSmrgxkb_symbols "rctrl_rshift_toggle" { 1460412cdedSmrg key <RTSH> { 1470412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 148797b363dSmrg symbols[Group1] = [ Shift_R, ISO_Next_Group ] 1490412cdedSmrg }; 1500412cdedSmrg key <RCTL> { [ Control_R, ISO_Next_Group ] }; 1510412cdedSmrg}; 1520412cdedSmrg 153797b363dSmrgpartial modifier_keys 1540412cdedSmrgxkb_symbols "ctrl_shift_toggle" { 1550412cdedSmrg include "group(lctrl_lshift_toggle)" 1560412cdedSmrg include "group(rctrl_rshift_toggle)" 1570412cdedSmrg}; 1580412cdedSmrg 159797b363dSmrgpartial modifier_keys 1600412cdedSmrgxkb_symbols "ctrl_shift_toggle_bidir" { 1610412cdedSmrg include "group(lctrl_lshift_toggle_rev)" 1620412cdedSmrg include "group(rctrl_rshift_toggle)" 1630412cdedSmrg}; 1640412cdedSmrg 1650412cdedSmrg 1660412cdedSmrg// 1670412cdedSmrg// CTRL-ALT toggle section 1680412cdedSmrg// 1690412cdedSmrgpartial modifier_keys 1700412cdedSmrgxkb_symbols "lctrl_lalt_toggle" { 171154daed1Smrg virtual_modifiers Alt; 172154daed1Smrg key <LALT> { 1730412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 174797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 1750412cdedSmrg virtualMods= Alt 176154daed1Smrg }; 1770412cdedSmrg key <LCTL> { 1780412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 179797b363dSmrg symbols[Group1] = [ Control_L, ISO_Next_Group ] 1800412cdedSmrg }; 1810412cdedSmrg}; 1820412cdedSmrg 1830412cdedSmrgpartial modifier_keys 1840412cdedSmrgxkb_symbols "lctrl_lalt_toggle_rev" { 1850412cdedSmrg virtual_modifiers Alt; 1860412cdedSmrg key <LALT> { 1870412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 188797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 1890412cdedSmrg virtualMods= Alt 190154daed1Smrg }; 191154daed1Smrg key <LCTL> { 1920412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 193797b363dSmrg symbols[Group1] = [ Control_L, ISO_Prev_Group ] 1940412cdedSmrg }; 1950412cdedSmrg}; 1960412cdedSmrg 1970412cdedSmrgpartial modifier_keys 1980412cdedSmrgxkb_symbols "rctrl_ralt_toggle" { 1990412cdedSmrg virtual_modifiers Alt; 2000412cdedSmrg key <RALT> { 2010412cdedSmrg type[Group1]="PC_CONTROL_LEVEL2", 202797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 2030412cdedSmrg virtualMods= Alt 204154daed1Smrg }; 205154daed1Smrg key <RCTL> { 2060412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 207797b363dSmrg symbols[Group1] = [ Control_R, ISO_Next_Group ] 208154daed1Smrg }; 209154daed1Smrg}; 210154daed1Smrg 211797b363dSmrgpartial modifier_keys 2120412cdedSmrgxkb_symbols "ctrl_alt_toggle" { 2130412cdedSmrg include "group(lctrl_lalt_toggle)" 2140412cdedSmrg include "group(rctrl_ralt_toggle)" 2150412cdedSmrg}; 2160412cdedSmrg 217797b363dSmrgpartial modifier_keys 2180412cdedSmrgxkb_symbols "ctrl_alt_toggle_bidir" { 2190412cdedSmrg include "group(lctrl_lalt_toggle_rev)" 2200412cdedSmrg include "group(rctrl_ralt_toggle)" 2210412cdedSmrg}; 2220412cdedSmrg 2230412cdedSmrg 2240412cdedSmrg// 2250412cdedSmrg// ALT-SHIFT toggle section 2260412cdedSmrg// 2270412cdedSmrgpartial modifier_keys 2280412cdedSmrgxkb_symbols "lalt_lshift_toggle" { 229154daed1Smrg virtual_modifiers Alt; 230154daed1Smrg key <LALT> { 231797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 2320412cdedSmrg virtualMods= Alt 233154daed1Smrg }; 2340412cdedSmrg key <LFSH> { 2350412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 236797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Next_Group ] 2370412cdedSmrg }; 2380412cdedSmrg}; 2390412cdedSmrg 2400412cdedSmrgpartial modifier_keys 2410412cdedSmrgxkb_symbols "lalt_lshift_toggle_rev" { 2420412cdedSmrg virtual_modifiers Alt; 2430412cdedSmrg key <LALT> { 244797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 2450412cdedSmrg virtualMods= Alt 246154daed1Smrg }; 247154daed1Smrg key <LFSH> { 2480412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 249797b363dSmrg symbols[Group1] = [ Shift_L, ISO_Prev_Group ] 2500412cdedSmrg }; 2510412cdedSmrg}; 2520412cdedSmrg 2530412cdedSmrgpartial modifier_keys 2540412cdedSmrgxkb_symbols "ralt_rshift_toggle" { 2550412cdedSmrg virtual_modifiers Alt; 2560412cdedSmrg key <RALT> { 257797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 2580412cdedSmrg virtualMods= Alt 259154daed1Smrg }; 260154daed1Smrg key <RTSH> { 2610412cdedSmrg type[Group1]="PC_ALT_LEVEL2", 262797b363dSmrg symbols[Group1] = [ Shift_R, ISO_Next_Group ] 263154daed1Smrg }; 264154daed1Smrg}; 265154daed1Smrg 266797b363dSmrgpartial modifier_keys 2670412cdedSmrgxkb_symbols "alt_shift_toggle" { 2680412cdedSmrg include "group(lalt_lshift_toggle)" 2690412cdedSmrg include "group(ralt_rshift_toggle)" 2700412cdedSmrg}; 2710412cdedSmrg 272797b363dSmrgpartial modifier_keys 2730412cdedSmrgxkb_symbols "alt_shift_toggle_bidir" { 2740412cdedSmrg include "group(lalt_lshift_toggle_rev)" 2750412cdedSmrg include "group(ralt_rshift_toggle)" 2760412cdedSmrg}; 2770412cdedSmrg 2780412cdedSmrg 279797b363dSmrg// Pressing the Menu key switches to the next group, 280797b363dSmrg// while Shift+Menu acts as Menu. 281154daed1Smrgpartial modifier_keys 282154daed1Smrgxkb_symbols "menu_toggle" { 283797b363dSmrg key <MENU> { [ ISO_Next_Group, Menu ] }; 284154daed1Smrg}; 285154daed1Smrg 286797b363dSmrg// Pressing the left Win key switches to the next group. 287797b363dSmrg// (Using this map, you should declare your keyboard as 288797b363dSmrg// pc101 or pc102 instead of pc104 or pc105.) 289154daed1Smrgpartial modifier_keys 290154daed1Smrgxkb_symbols "lwin_toggle" { 291797b363dSmrg virtual_modifiers AltGr; 292797b363dSmrg key <LWIN> { 293797b363dSmrg virtualMods= AltGr, 294797b363dSmrg symbols[Group1] = [ ISO_Next_Group ] 295154daed1Smrg }; 296154daed1Smrg}; 297154daed1Smrg 298797b363dSmrg// Pressing the right Win key switches to the next group. 299797b363dSmrg// (Using this map, you should declare your keyboard as 300797b363dSmrg// pc101 or pc102 instead of pc104 or pc105.) 301154daed1Smrgpartial modifier_keys 302154daed1Smrgxkb_symbols "rwin_toggle" { 303797b363dSmrg virtual_modifiers AltGr; 304797b363dSmrg key <RWIN> { 305797b363dSmrg virtualMods= AltGr, 306797b363dSmrg symbols[Group1] = [ ISO_Next_Group ] 307154daed1Smrg }; 308154daed1Smrg}; 309154daed1Smrg 310797b363dSmrg// Pressing both Ctrl keys switches to the next or previous group 311797b363dSmrg// (depending on which Ctrl is pressed first). 312154daed1Smrgpartial modifier_keys 313154daed1Smrgxkb_symbols "ctrls_toggle" { 314797b363dSmrg virtual_modifiers LControl, RControl; 315154daed1Smrg key <LCTL> { 316797b363dSmrg type[Group1]="PC_RCONTROL_LEVEL2", 317797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 318797b363dSmrg virtualMods= LControl 319154daed1Smrg }; 320154daed1Smrg key <RCTL> { 321797b363dSmrg type[Group1]="PC_LCONTROL_LEVEL2", 322797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 323797b363dSmrg virtualMods= RControl 324154daed1Smrg }; 325154daed1Smrg}; 326154daed1Smrg 327797b363dSmrg// Pressing both Alt keys switches to the next or previous group 328797b363dSmrg// (depending on which Alt is pressed first). 329154daed1Smrgpartial modifier_keys 330154daed1Smrgxkb_symbols "alts_toggle" { 331797b363dSmrg virtual_modifiers LAlt, RAlt; 332154daed1Smrg key <LALT> { 333797b363dSmrg type[Group1]="PC_RALT_LEVEL2", 334797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], 335797b363dSmrg virtualMods= LAlt 336154daed1Smrg }; 337154daed1Smrg key <RALT> { 338797b363dSmrg type[Group1]="PC_LALT_LEVEL2", 339797b363dSmrg symbols[Group1] = [ NoSymbol, ISO_Next_Group ], 340797b363dSmrg virtualMods= RAlt 341154daed1Smrg }; 342154daed1Smrg}; 343154daed1Smrg 344797b363dSmrg// Pressing the left Shift key switches to the next group. 345154daed1Smrgpartial modifier_keys 346154daed1Smrgxkb_symbols "lshift_toggle" { 347797b363dSmrg virtual_modifiers AltGr; 348797b363dSmrg key <LFSH> { 349797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 350797b363dSmrg virtualMods= AltGr 351154daed1Smrg }; 352154daed1Smrg}; 353154daed1Smrg 354797b363dSmrg// Pressing the right Shift key switches to the next group. 355154daed1Smrgpartial modifier_keys 356154daed1Smrgxkb_symbols "rshift_toggle" { 357797b363dSmrg virtual_modifiers AltGr; 358797b363dSmrg key <RTSH> { 359797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 360797b363dSmrg virtualMods= AltGr 361154daed1Smrg }; 362154daed1Smrg}; 363154daed1Smrg 364797b363dSmrg// Pressing the left Alt key switches to the next group. 365154daed1Smrgpartial modifier_keys 366154daed1Smrgxkb_symbols "lalt_toggle" { 367797b363dSmrg virtual_modifiers AltGr; 368797b363dSmrg key <LALT> { 369797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 370797b363dSmrg virtualMods= AltGr 371154daed1Smrg }; 372154daed1Smrg}; 373154daed1Smrg 374797b363dSmrg// Pressing the left Ctrl key switches to the next group. 375154daed1Smrgpartial modifier_keys 376154daed1Smrgxkb_symbols "lctrl_toggle" { 377797b363dSmrg virtual_modifiers AltGr; 378797b363dSmrg key <LCTL> { 379797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 380797b363dSmrg virtualMods= AltGr 381154daed1Smrg }; 382154daed1Smrg}; 383154daed1Smrg 384797b363dSmrg// Pressing the right Ctrl key switches to the next group. 385154daed1Smrgpartial modifier_keys 386154daed1Smrgxkb_symbols "rctrl_toggle" { 387797b363dSmrg virtual_modifiers AltGr; 388797b363dSmrg key <RCTL> { 389797b363dSmrg symbols[Group1] = [ ISO_Next_Group ], 390797b363dSmrg virtualMods= AltGr 391154daed1Smrg }; 392154daed1Smrg}; 393154daed1Smrg 394797b363dSmrg// Pressing Alt+Caps_Lock switches to the next group, 395797b363dSmrg// pressing Caps_Lock toggles CapsLock. 396154daed1Smrgpartial modifier_keys 397154daed1Smrgxkb_symbols "alt_caps_toggle" { 398797b363dSmrg key <CAPS> { 399154daed1Smrg type="PC_ALT_LEVEL2", 400797b363dSmrg symbols[Group1] = [ Caps_Lock, ISO_Next_Group ] 401154daed1Smrg }; 402154daed1Smrg}; 403154daed1Smrg 404154daed1Smrgpartial hidden modifier_keys 405154daed1Smrgxkb_symbols "olpc" { 406797b363dSmrg key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] }; 407154daed1Smrg}; 408154daed1Smrg 409c067fea9Sghenpartial modifier_keys 410c067fea9Sghenxkb_symbols "alt_space_toggle" { 411c067fea9Sghen key <SPCE> { 412797b363dSmrg type[Group1]="PC_ALT_LEVEL2", 413797b363dSmrg symbols[Group1] = [ space, ISO_Next_Group ] 414c067fea9Sghen }; 415c067fea9Sghen}; 416c067fea9Sghen 417797b363dSmrg// Pressing the Scroll Lock key switches to the next group, 418c067fea9Sghenpartial modifier_keys 419c067fea9Sghenxkb_symbols "sclk_toggle" { 420797b363dSmrg virtual_modifiers AltGr; 421797b363dSmrg key <SCLK> { 422797b363dSmrg virtualMods= AltGr, 423797b363dSmrg symbols[Group1] = [ ISO_Next_Group ] 424c067fea9Sghen }; 425c067fea9Sghen}; 426c067fea9Sghen 427797b363dSmrg// Control_L+Win_L selects the first group (presumably Lat), 428797b363dSmrg// Control_R+Menu selects the second group (presumably Rus). 429bfd7cbc1Smrgpartial modifier_keys 430bfd7cbc1Smrgxkb_symbols "lctrl_lwin_rctrl_menu" { 431bfd7cbc1Smrg key <LWIN> { 432797b363dSmrg type[Group1] = "PC_CONTROL_LEVEL2", 433797b363dSmrg symbols[Group1] = [ Super_L, ISO_First_Group ] 434bfd7cbc1Smrg }; 435bfd7cbc1Smrg key <MENU> { 436797b363dSmrg type[Group1] = "PC_CONTROL_LEVEL2", 437797b363dSmrg symbols[Group1] = [ Menu, ISO_Last_Group ] 438bfd7cbc1Smrg }; 439797b363dSmrg}; 440