group revision 154daed1
1154daed1Smrg// $XKeyboardConfig: xkeyboard-config/symbols/group,v 1.14 2008-04-07 21:28:16 svu Exp $ 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" { 33154daed1Smrg key <LWIN> { 34154daed1Smrg symbols[Group1] = [ Mode_switch, Multi_key ], 35154daed1Smrg virtualMods= AltGr 36154daed1Smrg }; 37154daed1Smrg key <RWIN> { 38154daed1Smrg symbols[Group1] = [ Mode_switch, Multi_key ], 39154daed1Smrg virtualMods= AltGr 40154daed1Smrg }; 41154daed1Smrg}; 42154daed1Smrg 43154daed1Smrg// using the group(lwin_switch) map, the left Windows' logo key 44154daed1Smrg// temporarily chooses the second keyboard group (until it is 45154daed1Smrg// released). If you use this map, you would declare you keyboard as 46154daed1Smrg// pc101 or pc102 instead of pc104 or pc105. 47154daed1Smrgpartial modifier_keys 48154daed1Smrgxkb_symbols "lwin_switch" { 49154daed1Smrg key <LWIN> { 50154daed1Smrg symbols[Group1] = [ Mode_switch, Multi_key ], 51154daed1Smrg virtualMods= AltGr 52154daed1Smrg }; 53154daed1Smrg}; 54154daed1Smrg 55154daed1Smrg// using the group(rwin_switch) map, the right Windows' logo key 56154daed1Smrg// temporarily chooses the second keyboard group (until it is 57154daed1Smrg// released). If you use this map, you would declare you keyboard as 58154daed1Smrg// pc101 or pc102 instead of pc104 or pc105. 59154daed1Smrgpartial modifier_keys 60154daed1Smrgxkb_symbols "rwin_switch" { 61154daed1Smrg key <RWIN> { 62154daed1Smrg symbols[Group1] = [ Mode_switch, Multi_key ], 63154daed1Smrg virtualMods= AltGr 64154daed1Smrg }; 65154daed1Smrg}; 66154daed1Smrg 67154daed1Smrg// Right Ctrl key temporary chooses the second keyboard group. 68154daed1Smrg// Needed mainly for Canadian keyboard 69154daed1Smrgpartial modifier_keys 70154daed1Smrgxkb_symbols "rctrl_switch" { 71154daed1Smrg key <RCTL> { 72154daed1Smrg symbols[Group1]= [ Mode_switch ] 73154daed1Smrg }; 74154daed1Smrg}; 75154daed1Smrg 76154daed1Smrg// using the group(toggle) map, pressing the right alt key switches to 77154daed1Smrg// the next sequential group (until the next explicit group change). 78154daed1Smrgpartial modifier_keys 79154daed1Smrgxkb_symbols "toggle" { 80154daed1Smrg virtual_modifiers AltGr; 81154daed1Smrg key <RALT> { 82154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 83154daed1Smrg virtualMods= AltGr 84154daed1Smrg }; 85154daed1Smrg}; 86154daed1Smrg 87154daed1Smrg// using the group(shifts_toggle) map, pressing both shift keys together 88154daed1Smrg// locks the next or previous sequential keyboard group 89154daed1Smrg// (depending on which shift is pressed first - right or left, 90154daed1Smrg// correspongingly) 91154daed1Smrgpartial modifier_keys 92154daed1Smrgxkb_symbols "shifts_toggle" { 93154daed1Smrg key <LFSH> { [ Shift_L, ISO_Prev_Group ] }; 94154daed1Smrg key <RTSH> { [ Shift_R, ISO_Next_Group ] }; 95154daed1Smrg}; 96154daed1Smrg 97154daed1Smrg// using the group(ctrl_shift_toggle) map, pressing: 98154daed1Smrg// Control_L+Shift_L locks the previous group 99154daed1Smrg// Control_R+Shift_R locks the next group 100154daed1Smrg// If you have two groups and group wrap is enabled, the effect is 101154daed1Smrg// indistinguishable. 102154daed1Smrgpartial modifier_keys 103154daed1Smrgxkb_symbols "ctrl_shift_toggle" { 104154daed1Smrg key <LFSH> { 105154daed1Smrg type[Group1]="PC_CONTROL_LEVEL2", 106154daed1Smrg symbols[Group1]= [ Shift_L, ISO_Prev_Group ] 107154daed1Smrg }; 108154daed1Smrg key <RTSH> { 109154daed1Smrg type[Group1]="PC_CONTROL_LEVEL2", 110154daed1Smrg symbols[Group1]= [ Shift_R, ISO_Next_Group ] 111154daed1Smrg }; 112154daed1Smrg key <LCTL> { [ Control_L, ISO_Prev_Group ] }; 113154daed1Smrg key <RCTL> { [ Control_R, ISO_Next_Group ] }; 114154daed1Smrg}; 115154daed1Smrg 116154daed1Smrg// using the group(lctrl_lshift_toggle) map, pressing: 117154daed1Smrg// Control_L+Shift_L locks the next group 118154daed1Smrg// If you have two groups and group wrap is enabled, the effect is 119154daed1Smrg// indistinguishable. 120154daed1Smrgpartial modifier_keys 121154daed1Smrgxkb_symbols "lctrl_lshift_toggle" { 122154daed1Smrg key <LFSH> { 123154daed1Smrg type[Group1]="PC_CONTROL_LEVEL2", 124154daed1Smrg symbols[Group1]= [ Shift_L, ISO_Next_Group ] 125154daed1Smrg }; 126154daed1Smrg key <LCTL> { [ Control_L, ISO_Next_Group ] }; 127154daed1Smrg}; 128154daed1Smrg 129154daed1Smrg// using the group(caps_toggle) map, pressing: 130154daed1Smrg// Caps Lock toggles groups 131154daed1Smrg// Shift+Caps Lock toggles caps lock 132154daed1Smrgpartial modifier_keys 133154daed1Smrgxkb_symbols "caps_toggle" { 134154daed1Smrg include "capslock(grouplock)" 135154daed1Smrg}; 136154daed1Smrg 137154daed1Smrg// using the group(shift_caps_toggle) map, pressing: 138154daed1Smrg// Shift+Caps Lock toggles group 139154daed1Smrgpartial modifier_keys 140154daed1Smrgxkb_symbols "shift_caps_toggle" { 141154daed1Smrg key <CAPS> { [ Caps_Lock, ISO_Next_Group ] }; 142154daed1Smrg}; 143154daed1Smrg 144154daed1Smrg// using the group(shift_caps_switch) map, pressing: 145154daed1Smrg// Caps Lock selects the first group 146154daed1Smrg// Shift+Caps Lock selects the last group 147154daed1Smrgpartial modifier_keys 148154daed1Smrgxkb_symbols "shift_caps_switch" { 149154daed1Smrg key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] }; 150154daed1Smrg}; 151154daed1Smrg 152154daed1Smrg// using the group(ctrl_alt_toggle) map, pressing: 153154daed1Smrg// Control_L+Alt_L locks the previous group 154154daed1Smrg// Control_R+Alt_R locks the next group 155154daed1Smrg// If you have two groups and group wrap is enabled, the effect is 156154daed1Smrg// indistinguishable. 157154daed1Smrgpartial modifier_keys 158154daed1Smrgxkb_symbols "ctrl_alt_toggle" { 159154daed1Smrg virtual_modifiers Alt; 160154daed1Smrg key <LALT> { 161154daed1Smrg type[Group1]="PC_CONTROL_LEVEL2", 162154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 163154daed1Smrg virtualMods= Alt 164154daed1Smrg }; 165154daed1Smrg key <RALT> { 166154daed1Smrg type[Group1]="PC_CONTROL_LEVEL2", 167154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 168154daed1Smrg virtualMods= Alt 169154daed1Smrg }; 170154daed1Smrg key <LCTL> { 171154daed1Smrg type[Group1]="PC_ALT_LEVEL2", 172154daed1Smrg symbols[Group1]= [ Control_L, ISO_Prev_Group ] 173154daed1Smrg }; 174154daed1Smrg key <RCTL> { 175154daed1Smrg type[Group1]="PC_ALT_LEVEL2", 176154daed1Smrg symbols[Group1]= [ Control_R, ISO_Next_Group ] 177154daed1Smrg }; 178154daed1Smrg}; 179154daed1Smrg 180154daed1Smrg// using the group(alt_shift_toggle) map, pressing: 181154daed1Smrg// Shift_L+Alt_L locks the previous group 182154daed1Smrg// Shift_R+Alt_R locks the next group 183154daed1Smrg// If you have two groups and group wrap is enabled, the effect is 184154daed1Smrg// indistinguishable. 185154daed1Smrgpartial modifier_keys 186154daed1Smrgxkb_symbols "alt_shift_toggle" { 187154daed1Smrg virtual_modifiers Alt; 188154daed1Smrg key <LALT> { 189154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 190154daed1Smrg virtualMods= Alt 191154daed1Smrg }; 192154daed1Smrg key <RALT> { 193154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 194154daed1Smrg virtualMods= Alt 195154daed1Smrg }; 196154daed1Smrg key <LFSH> { 197154daed1Smrg type[Group1]="PC_ALT_LEVEL2", 198154daed1Smrg symbols[Group1]= [ Shift_L, ISO_Prev_Group ] 199154daed1Smrg }; 200154daed1Smrg key <RTSH> { 201154daed1Smrg type[Group1]="PC_ALT_LEVEL2", 202154daed1Smrg symbols[Group1]= [ Shift_R, ISO_Next_Group ] 203154daed1Smrg }; 204154daed1Smrg}; 205154daed1Smrg 206154daed1Smrg// using the group(menu_toggle) map, pressing: 207154daed1Smrg// Menu key toggles groups 208154daed1Smrg// Shift+Menu acts as Menu 209154daed1Smrgpartial modifier_keys 210154daed1Smrgxkb_symbols "menu_toggle" { 211154daed1Smrg key <MENU> { [ ISO_Next_Group, Menu ] }; 212154daed1Smrg}; 213154daed1Smrg 214154daed1Smrg// using the group(lwin_toggle) map, pressing the left Windows' logo key 215154daed1Smrg// toggles groups. If you use this map, you would declare you keyboard 216154daed1Smrg// as pc101 or pc102 instead of pc104 or pc105. 217154daed1Smrgpartial modifier_keys 218154daed1Smrgxkb_symbols "lwin_toggle" { 219154daed1Smrg virtual_modifiers AltGr; 220154daed1Smrg key <LWIN> { 221154daed1Smrg virtualMods= AltGr, 222154daed1Smrg symbols[Group1] = [ ISO_Next_Group ] 223154daed1Smrg }; 224154daed1Smrg}; 225154daed1Smrg 226154daed1Smrg// using the group(rwin_toggle) map, pressing the right Windows' logo key 227154daed1Smrg// toggles groups. If you use this map, you would declare you keyboard 228154daed1Smrg// as pc101 or pc102 instead of pc104 or pc105. 229154daed1Smrgpartial modifier_keys 230154daed1Smrgxkb_symbols "rwin_toggle" { 231154daed1Smrg virtual_modifiers AltGr; 232154daed1Smrg key <RWIN> { 233154daed1Smrg virtualMods= AltGr, 234154daed1Smrg symbols[Group1] = [ ISO_Next_Group ] 235154daed1Smrg }; 236154daed1Smrg}; 237154daed1Smrg 238154daed1Smrg// Both Ctrls pressed together toggle group 239154daed1Smrgpartial modifier_keys 240154daed1Smrgxkb_symbols "ctrls_toggle" { 241154daed1Smrg virtual_modifiers LControl, RControl; 242154daed1Smrg key <LCTL> { 243154daed1Smrg type[Group1]="PC_RCONTROL_LEVEL2", 244154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 245154daed1Smrg virtualMods= LControl 246154daed1Smrg }; 247154daed1Smrg key <RCTL> { 248154daed1Smrg type[Group1]="PC_LCONTROL_LEVEL2", 249154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 250154daed1Smrg virtualMods= RControl 251154daed1Smrg }; 252154daed1Smrg}; 253154daed1Smrg 254154daed1Smrg// Both Alts pressed together toggle group 255154daed1Smrgpartial modifier_keys 256154daed1Smrgxkb_symbols "alts_toggle" { 257154daed1Smrg virtual_modifiers LAlt, RAlt; 258154daed1Smrg key <LALT> { 259154daed1Smrg type[Group1]="PC_RALT_LEVEL2", 260154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 261154daed1Smrg virtualMods= LAlt 262154daed1Smrg }; 263154daed1Smrg key <RALT> { 264154daed1Smrg type[Group1]="PC_LALT_LEVEL2", 265154daed1Smrg symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 266154daed1Smrg virtualMods= RAlt 267154daed1Smrg }; 268154daed1Smrg}; 269154daed1Smrg 270154daed1Smrg// Left Shift key toggles group 271154daed1Smrgpartial modifier_keys 272154daed1Smrgxkb_symbols "lshift_toggle" { 273154daed1Smrg virtual_modifiers AltGr; 274154daed1Smrg key <LFSH> { 275154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 276154daed1Smrg virtualMods= AltGr 277154daed1Smrg }; 278154daed1Smrg}; 279154daed1Smrg 280154daed1Smrg// Right Shift key toggles group 281154daed1Smrgpartial modifier_keys 282154daed1Smrgxkb_symbols "rshift_toggle" { 283154daed1Smrg virtual_modifiers AltGr; 284154daed1Smrg key <RTSH> { 285154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 286154daed1Smrg virtualMods= AltGr 287154daed1Smrg }; 288154daed1Smrg}; 289154daed1Smrg 290154daed1Smrg// Left Alt key toggles group 291154daed1Smrgpartial modifier_keys 292154daed1Smrgxkb_symbols "lalt_toggle" { 293154daed1Smrg virtual_modifiers AltGr; 294154daed1Smrg key <LALT> { 295154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 296154daed1Smrg virtualMods= AltGr 297154daed1Smrg }; 298154daed1Smrg}; 299154daed1Smrg 300154daed1Smrg// Left Ctrl key toggles group 301154daed1Smrgpartial modifier_keys 302154daed1Smrgxkb_symbols "lctrl_toggle" { 303154daed1Smrg virtual_modifiers AltGr; 304154daed1Smrg key <LCTL> { 305154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 306154daed1Smrg virtualMods= AltGr 307154daed1Smrg }; 308154daed1Smrg}; 309154daed1Smrg 310154daed1Smrg// Right Ctrl key toggles group 311154daed1Smrgpartial modifier_keys 312154daed1Smrgxkb_symbols "rctrl_toggle" { 313154daed1Smrg virtual_modifiers AltGr; 314154daed1Smrg key <RCTL> { 315154daed1Smrg symbols[Group1]= [ ISO_Next_Group ], 316154daed1Smrg virtualMods= AltGr 317154daed1Smrg }; 318154daed1Smrg}; 319154daed1Smrg 320154daed1Smrg// using the group(alt_caps_toggle) map, pressing: 321154daed1Smrg// Alt+Caps Lock toggles group 322154daed1Smrg// Caps Lock toggles caps lock 323154daed1Smrgpartial modifier_keys 324154daed1Smrgxkb_symbols "alt_caps_toggle" { 325154daed1Smrg key <CAPS> { 326154daed1Smrg type="PC_ALT_LEVEL2", 327154daed1Smrg symbols[Group1]= [ Caps_Lock, ISO_Next_Group] 328154daed1Smrg }; 329154daed1Smrg}; 330154daed1Smrg 331154daed1Smrgpartial hidden modifier_keys 332154daed1Smrgxkb_symbols "olpc" { 333154daed1Smrg key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] }; 334154daed1Smrg}; 335154daed1Smrg 336