group revision c067fea9
15a35480eSmrg// $XKeyboardConfig$ 2154daed1Smrg// $Xorg: group,v 1.3 2000/08/17 19:54:43 cpqbld Exp $ 3154daed1Smrg// using the group(switch) map, the right alt key temporarily chooses 4154daed1Smrg// the second keyboard group (until it is released). 5154daed1Smrg// 6154daed1Smrg// $XFree86: xc/programs/xkbcomp/symbols/group,v 3.9 2003/12/30 13:26:25 pascal Exp $ 7154daed1Smrgpartial modifier_keys 8154daed1Smrgxkb_symbols "switch" { 9154daed1Smrg key <RALT> { 10154daed1Smrg symbols[Group1]= [ Mode_switch, Multi_key ], 11154daed1Smrg virtualMods= AltGr 12154daed1Smrg }; 13154daed1Smrg}; 14154daed1Smrg 15154daed1Smrg// using the group(lswitch) map, the left alt key temporarily chooses 16154daed1Smrg// the second keyboard group (until it is released). 17154daed1Smrg// 18154daed1Smrgpartial modifier_keys 19154daed1Smrgxkb_symbols "lswitch" { 20154daed1Smrg key <LALT> { 21154daed1Smrg symbols[Group1]= [ Mode_switch, Multi_key ], 22154daed1Smrg virtualMods= AltGr 23154daed1Smrg }; 24154daed1Smrg}; 25154daed1Smrg 26154daed1Smrg 27154daed1Smrg// using the group(win_switch) map, both Windows'logo keys temporarily 28154daed1Smrg// choose the second keyboard group (until release). If you use this 29154daed1Smrg// map, you would declare you keyboard as pc101 or pc102 instead of 30154daed1Smrg// pc104 or pc105. 31154daed1Smrgpartial modifier_keys 32154daed1Smrgxkb_symbols "win_switch" { 335a35480eSmrg include "group(lwin_switch)" 345a35480eSmrg include "group(rwin_switch)" 35154daed1Smrg}; 36154daed1Smrg 37154daed1Smrg// using the group(lwin_switch) map, the left Windows' logo key 38154daed1Smrg// temporarily chooses the second keyboard group (until it is 39154daed1Smrg// released). If you use this map, you would declare you keyboard as 40154daed1Smrg// pc101 or pc102 instead of pc104 or pc105. 41154daed1Smrgpartial modifier_keys 42154daed1Smrgxkb_symbols "lwin_switch" { 43154daed1Smrg key <LWIN> { 44154daed1Smrg symbols[Group1] = [ Mode_switch, Multi_key ], 45154daed1Smrg virtualMods= AltGr 46154daed1Smrg }; 47154daed1Smrg}; 48154daed1Smrg 49154daed1Smrg// using the group(rwin_switch) map, the right Windows' logo key 50154daed1Smrg// temporarily chooses the second keyboard group (until it is 51154daed1Smrg// released). If you use this map, you would declare you keyboard as 52154daed1Smrg// pc101 or pc102 instead of pc104 or pc105. 53154daed1Smrgpartial modifier_keys 54154daed1Smrgxkb_symbols "rwin_switch" { 55154daed1Smrg key <RWIN> { 56154daed1Smrg symbols[Group1] = [ Mode_switch, Multi_key ], 57154daed1Smrg virtualMods= AltGr 58154daed1Smrg }; 59154daed1Smrg}; 60154daed1Smrg 61154daed1Smrg// Right Ctrl key temporary chooses the second keyboard group. 62154daed1Smrg// Needed mainly for Canadian keyboard 63154daed1Smrgpartial modifier_keys 64154daed1Smrgxkb_symbols "rctrl_switch" { 65154daed1Smrg key <RCTL> { 66154daed1Smrg symbols[Group1]= [ Mode_switch ] 67154daed1Smrg }; 68154daed1Smrg}; 69154daed1Smrg 70154daed1Smrg// using the group(toggle) map, pressing the right alt key switches to 71154daed1Smrg// the next sequential group (until the next explicit group change). 72154daed1Smrgpartial modifier_keys 73154daed1Smrgxkb_symbols "toggle" { 74154daed1Smrg virtual_modifiers AltGr; 75154daed1Smrg key <RALT> { 76154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 77154daed1Smrg virtualMods= AltGr 78154daed1Smrg }; 79154daed1Smrg}; 80154daed1Smrg 81154daed1Smrg// using the group(shifts_toggle) map, pressing both shift keys together 82154daed1Smrg// locks the next or previous sequential keyboard group 83154daed1Smrg// (depending on which shift is pressed first - right or left, 84154daed1Smrg// correspongingly) 85154daed1Smrgpartial modifier_keys 86154daed1Smrgxkb_symbols "shifts_toggle" { 87154daed1Smrg key <LFSH> { [ Shift_L, ISO_Prev_Group ] }; 88154daed1Smrg key <RTSH> { [ Shift_R, ISO_Next_Group ] }; 89154daed1Smrg}; 90154daed1Smrg 91154daed1Smrg// using the group(ctrl_shift_toggle) map, pressing: 92154daed1Smrg// Control_L+Shift_L locks the previous group 93154daed1Smrg// Control_R+Shift_R locks the next group 94154daed1Smrg// If you have two groups and group wrap is enabled, the effect is 95154daed1Smrg// indistinguishable. 96154daed1Smrgpartial modifier_keys 97154daed1Smrgxkb_symbols "ctrl_shift_toggle" { 98154daed1Smrg key <LFSH> { 99154daed1Smrg type[Group1]="PC_CONTROL_LEVEL2", 100154daed1Smrg symbols[Group1]= [ Shift_L, ISO_Prev_Group ] 101154daed1Smrg }; 102154daed1Smrg key <RTSH> { 103154daed1Smrg type[Group1]="PC_CONTROL_LEVEL2", 104154daed1Smrg symbols[Group1]= [ Shift_R, ISO_Next_Group ] 105154daed1Smrg }; 106154daed1Smrg key <LCTL> { [ Control_L, ISO_Prev_Group ] }; 107154daed1Smrg key <RCTL> { [ Control_R, ISO_Next_Group ] }; 108154daed1Smrg}; 109154daed1Smrg 110154daed1Smrg// using the group(lctrl_lshift_toggle) map, pressing: 111154daed1Smrg// Control_L+Shift_L locks the next group 112154daed1Smrg// If you have two groups and group wrap is enabled, the effect is 113154daed1Smrg// indistinguishable. 114154daed1Smrgpartial modifier_keys 115154daed1Smrgxkb_symbols "lctrl_lshift_toggle" { 116154daed1Smrg key <LFSH> { 117154daed1Smrg type[Group1]="PC_CONTROL_LEVEL2", 118154daed1Smrg symbols[Group1]= [ Shift_L, ISO_Next_Group ] 119154daed1Smrg }; 120154daed1Smrg key <LCTL> { [ Control_L, ISO_Next_Group ] }; 121154daed1Smrg}; 122154daed1Smrg 123c067fea9Sghen// using the group(rctrl_rshift_toggle) map, pressing: 124c067fea9Sghen// Control_R+Shift_R locks the next group 125c067fea9Sghen// If you have two groups and group wrap is enabled, the effect is 126c067fea9Sghen// indistinguishable. 127c067fea9Sghenpartial modifier_keys 128c067fea9Sghenxkb_symbols "rctrl_rshift_toggle" { 129c067fea9Sghen key <RTSH> { 130c067fea9Sghen type[Group1]="PC_CONTROL_LEVEL2", 131c067fea9Sghen symbols[Group1]= [ Shift_R, ISO_Next_Group ] 132c067fea9Sghen }; 133c067fea9Sghen key <RCTL> { [ Control_R, ISO_Next_Group ] }; 134c067fea9Sghen}; 135c067fea9Sghen 136154daed1Smrg// using the group(shift_caps_toggle) map, pressing: 137154daed1Smrg// Shift+Caps Lock toggles group 138154daed1Smrgpartial modifier_keys 139154daed1Smrgxkb_symbols "shift_caps_toggle" { 140154daed1Smrg key <CAPS> { [ Caps_Lock, ISO_Next_Group ] }; 141154daed1Smrg}; 142154daed1Smrg 143154daed1Smrg// using the group(shift_caps_switch) map, pressing: 144154daed1Smrg// Caps Lock selects the first group 145154daed1Smrg// Shift+Caps Lock selects the last group 146154daed1Smrgpartial modifier_keys 147154daed1Smrgxkb_symbols "shift_caps_switch" { 148154daed1Smrg key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] }; 149154daed1Smrg}; 150154daed1Smrg 151c067fea9Sghen// using the group(win_menu_switch) map, pressing: 152c067fea9Sghen// LWIN selects the first group 153c067fea9Sghen// RWIN or MENU selects the last group 154c067fea9Sghenpartial modifier_keys 155c067fea9Sghenxkb_symbols "win_menu_switch" { 156c067fea9Sghen virtual_modifiers AltGr; 157c067fea9Sghen key <LWIN> { 158c067fea9Sghen virtualMods= AltGr, 159c067fea9Sghen symbols[Group1] = [ ISO_First_Group ] 160c067fea9Sghen }; 161c067fea9Sghen key <MENU> { 162c067fea9Sghen virtualMods= AltGr, 163c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 164c067fea9Sghen }; 165c067fea9Sghen key <RWIN> { 166c067fea9Sghen virtualMods= AltGr, 167c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 168c067fea9Sghen }; 169c067fea9Sghen}; 170c067fea9Sghen 171c067fea9Sghen// using the group(lctrl_rctrl_switch) map, pressing: 172c067fea9Sghen// Left Control selects the first group 173c067fea9Sghen// Right Control selects the last group 174c067fea9Sghenpartial modifier_keys 175c067fea9Sghenxkb_symbols "lctrl_rctrl_switch" { 176c067fea9Sghen virtual_modifiers AltGr; 177c067fea9Sghen key <LCTL> { 178c067fea9Sghen virtualMods= AltGr, 179c067fea9Sghen symbols[Group1] = [ ISO_First_Group ] 180c067fea9Sghen }; 181c067fea9Sghen key <RCTL> { 182c067fea9Sghen virtualMods= AltGr, 183c067fea9Sghen symbols[Group1] = [ ISO_Last_Group ] 184c067fea9Sghen }; 185c067fea9Sghen}; 186c067fea9Sghen 187154daed1Smrg// using the group(ctrl_alt_toggle) map, pressing: 188154daed1Smrg// Control_L+Alt_L locks the previous group 189154daed1Smrg// Control_R+Alt_R locks the next group 190154daed1Smrg// If you have two groups and group wrap is enabled, the effect is 191154daed1Smrg// indistinguishable. 192154daed1Smrgpartial modifier_keys 193154daed1Smrgxkb_symbols "ctrl_alt_toggle" { 194154daed1Smrg virtual_modifiers Alt; 195154daed1Smrg key <LALT> { 196154daed1Smrg type[Group1]="PC_CONTROL_LEVEL2", 197154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 198154daed1Smrg virtualMods= Alt 199154daed1Smrg }; 200154daed1Smrg key <RALT> { 201154daed1Smrg type[Group1]="PC_CONTROL_LEVEL2", 202154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 203154daed1Smrg virtualMods= Alt 204154daed1Smrg }; 205154daed1Smrg key <LCTL> { 206154daed1Smrg type[Group1]="PC_ALT_LEVEL2", 207154daed1Smrg symbols[Group1]= [ Control_L, ISO_Prev_Group ] 208154daed1Smrg }; 209154daed1Smrg key <RCTL> { 210154daed1Smrg type[Group1]="PC_ALT_LEVEL2", 211154daed1Smrg symbols[Group1]= [ Control_R, ISO_Next_Group ] 212154daed1Smrg }; 213154daed1Smrg}; 214154daed1Smrg 215154daed1Smrg// using the group(alt_shift_toggle) map, pressing: 216154daed1Smrg// Shift_L+Alt_L locks the previous group 217154daed1Smrg// Shift_R+Alt_R locks the next group 218154daed1Smrg// If you have two groups and group wrap is enabled, the effect is 219154daed1Smrg// indistinguishable. 220154daed1Smrgpartial modifier_keys 221154daed1Smrgxkb_symbols "alt_shift_toggle" { 222154daed1Smrg virtual_modifiers Alt; 223154daed1Smrg key <LALT> { 224154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 225154daed1Smrg virtualMods= Alt 226154daed1Smrg }; 227154daed1Smrg key <RALT> { 228154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 229154daed1Smrg virtualMods= Alt 230154daed1Smrg }; 231154daed1Smrg key <LFSH> { 232154daed1Smrg type[Group1]="PC_ALT_LEVEL2", 233154daed1Smrg symbols[Group1]= [ Shift_L, ISO_Prev_Group ] 234154daed1Smrg }; 235154daed1Smrg key <RTSH> { 236154daed1Smrg type[Group1]="PC_ALT_LEVEL2", 237154daed1Smrg symbols[Group1]= [ Shift_R, ISO_Next_Group ] 238154daed1Smrg }; 239154daed1Smrg}; 240154daed1Smrg 241154daed1Smrg// using the group(menu_toggle) map, pressing: 242154daed1Smrg// Menu key toggles groups 243154daed1Smrg// Shift+Menu acts as Menu 244154daed1Smrgpartial modifier_keys 245154daed1Smrgxkb_symbols "menu_toggle" { 246154daed1Smrg key <MENU> { [ ISO_Next_Group, Menu ] }; 247154daed1Smrg}; 248154daed1Smrg 249154daed1Smrg// using the group(lwin_toggle) map, pressing the left Windows' logo key 250154daed1Smrg// toggles groups. If you use this map, you would declare you keyboard 251154daed1Smrg// as pc101 or pc102 instead of pc104 or pc105. 252154daed1Smrgpartial modifier_keys 253154daed1Smrgxkb_symbols "lwin_toggle" { 254154daed1Smrg virtual_modifiers AltGr; 255154daed1Smrg key <LWIN> { 256154daed1Smrg virtualMods= AltGr, 257154daed1Smrg symbols[Group1] = [ ISO_Next_Group ] 258154daed1Smrg }; 259154daed1Smrg}; 260154daed1Smrg 261154daed1Smrg// using the group(rwin_toggle) map, pressing the right Windows' logo key 262154daed1Smrg// toggles groups. If you use this map, you would declare you keyboard 263154daed1Smrg// as pc101 or pc102 instead of pc104 or pc105. 264154daed1Smrgpartial modifier_keys 265154daed1Smrgxkb_symbols "rwin_toggle" { 266154daed1Smrg virtual_modifiers AltGr; 267154daed1Smrg key <RWIN> { 268154daed1Smrg virtualMods= AltGr, 269154daed1Smrg symbols[Group1] = [ ISO_Next_Group ] 270154daed1Smrg }; 271154daed1Smrg}; 272154daed1Smrg 273154daed1Smrg// Both Ctrls pressed together toggle group 274154daed1Smrgpartial modifier_keys 275154daed1Smrgxkb_symbols "ctrls_toggle" { 276154daed1Smrg virtual_modifiers LControl, RControl; 277154daed1Smrg key <LCTL> { 278154daed1Smrg type[Group1]="PC_RCONTROL_LEVEL2", 279154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 280154daed1Smrg virtualMods= LControl 281154daed1Smrg }; 282154daed1Smrg key <RCTL> { 283154daed1Smrg type[Group1]="PC_LCONTROL_LEVEL2", 284154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 285154daed1Smrg virtualMods= RControl 286154daed1Smrg }; 287154daed1Smrg}; 288154daed1Smrg 289154daed1Smrg// Both Alts pressed together toggle group 290154daed1Smrgpartial modifier_keys 291154daed1Smrgxkb_symbols "alts_toggle" { 292154daed1Smrg virtual_modifiers LAlt, RAlt; 293154daed1Smrg key <LALT> { 294154daed1Smrg type[Group1]="PC_RALT_LEVEL2", 295154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 296154daed1Smrg virtualMods= LAlt 297154daed1Smrg }; 298154daed1Smrg key <RALT> { 299154daed1Smrg type[Group1]="PC_LALT_LEVEL2", 300154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 301154daed1Smrg virtualMods= RAlt 302154daed1Smrg }; 303154daed1Smrg}; 304154daed1Smrg 305154daed1Smrg// Left Shift key toggles group 306154daed1Smrgpartial modifier_keys 307154daed1Smrgxkb_symbols "lshift_toggle" { 308154daed1Smrg virtual_modifiers AltGr; 309154daed1Smrg key <LFSH> { 310154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 311154daed1Smrg virtualMods= AltGr 312154daed1Smrg }; 313154daed1Smrg}; 314154daed1Smrg 315154daed1Smrg// Right Shift key toggles group 316154daed1Smrgpartial modifier_keys 317154daed1Smrgxkb_symbols "rshift_toggle" { 318154daed1Smrg virtual_modifiers AltGr; 319154daed1Smrg key <RTSH> { 320154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 321154daed1Smrg virtualMods= AltGr 322154daed1Smrg }; 323154daed1Smrg}; 324154daed1Smrg 325154daed1Smrg// Left Alt key toggles group 326154daed1Smrgpartial modifier_keys 327154daed1Smrgxkb_symbols "lalt_toggle" { 328154daed1Smrg virtual_modifiers AltGr; 329154daed1Smrg key <LALT> { 330154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 331154daed1Smrg virtualMods= AltGr 332154daed1Smrg }; 333154daed1Smrg}; 334154daed1Smrg 335154daed1Smrg// Left Ctrl key toggles group 336154daed1Smrgpartial modifier_keys 337154daed1Smrgxkb_symbols "lctrl_toggle" { 338154daed1Smrg virtual_modifiers AltGr; 339154daed1Smrg key <LCTL> { 340154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 341154daed1Smrg virtualMods= AltGr 342154daed1Smrg }; 343154daed1Smrg}; 344154daed1Smrg 345154daed1Smrg// Right Ctrl key toggles group 346154daed1Smrgpartial modifier_keys 347154daed1Smrgxkb_symbols "rctrl_toggle" { 348154daed1Smrg virtual_modifiers AltGr; 349154daed1Smrg key <RCTL> { 350154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 351154daed1Smrg virtualMods= AltGr 352154daed1Smrg }; 353154daed1Smrg}; 354154daed1Smrg 355154daed1Smrg// using the group(alt_caps_toggle) map, pressing: 356154daed1Smrg// Alt+Caps Lock toggles group 357154daed1Smrg// Caps Lock toggles caps lock 358154daed1Smrgpartial modifier_keys 359154daed1Smrgxkb_symbols "alt_caps_toggle" { 360154daed1Smrg key <CAPS> { 361154daed1Smrg type="PC_ALT_LEVEL2", 362154daed1Smrg symbols[Group1]= [ Caps_Lock, ISO_Next_Group] 363154daed1Smrg }; 364154daed1Smrg}; 365154daed1Smrg 366154daed1Smrgpartial hidden modifier_keys 367154daed1Smrgxkb_symbols "olpc" { 368154daed1Smrg key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] }; 369154daed1Smrg}; 370154daed1Smrg 371c067fea9Sghenpartial modifier_keys 372c067fea9Sghenxkb_symbols "alt_space_toggle" { 373c067fea9Sghen key <SPCE> { 374c067fea9Sghen type[Group1]="PC_ALT_LEVEL2", 375c067fea9Sghen symbols[Group1]= [ space, ISO_Next_Group ] 376c067fea9Sghen }; 377c067fea9Sghen}; 378c067fea9Sghen 379c067fea9Sghen// using the group(sclk_toggle) map, pressing the Scroll Lock key 380c067fea9Sghen// toggles groups. 381c067fea9Sghenpartial modifier_keys 382c067fea9Sghenxkb_symbols "sclk_toggle" { 383c067fea9Sghen virtual_modifiers AltGr; 384c067fea9Sghen key <SCLK> { 385c067fea9Sghen virtualMods= AltGr, 386c067fea9Sghen symbols[Group1] = [ ISO_Next_Group ] 387c067fea9Sghen }; 388c067fea9Sghen}; 389c067fea9Sghen 390