group revision 154daed1
1// $XKeyboardConfig: xkeyboard-config/symbols/group,v 1.14 2008-04-07 21:28:16 svu Exp $ 2// $Xorg: group,v 1.3 2000/08/17 19:54:43 cpqbld Exp $ 3// using the group(switch) map, the right alt key temporarily chooses 4// the second keyboard group (until it is released). 5// 6// $XFree86: xc/programs/xkbcomp/symbols/group,v 3.9 2003/12/30 13:26:25 pascal Exp $ 7partial modifier_keys 8xkb_symbols "switch" { 9 key <RALT> { 10 symbols[Group1]= [ Mode_switch, Multi_key ], 11 virtualMods= AltGr 12 }; 13}; 14 15// using the group(lswitch) map, the left alt key temporarily chooses 16// the second keyboard group (until it is released). 17// 18partial modifier_keys 19xkb_symbols "lswitch" { 20 key <LALT> { 21 symbols[Group1]= [ Mode_switch, Multi_key ], 22 virtualMods= AltGr 23 }; 24}; 25 26 27// using the group(win_switch) map, both Windows'logo keys temporarily 28// choose the second keyboard group (until release). If you use this 29// map, you would declare you keyboard as pc101 or pc102 instead of 30// pc104 or pc105. 31partial modifier_keys 32xkb_symbols "win_switch" { 33 key <LWIN> { 34 symbols[Group1] = [ Mode_switch, Multi_key ], 35 virtualMods= AltGr 36 }; 37 key <RWIN> { 38 symbols[Group1] = [ Mode_switch, Multi_key ], 39 virtualMods= AltGr 40 }; 41}; 42 43// using the group(lwin_switch) map, the left Windows' logo key 44// temporarily chooses the second keyboard group (until it is 45// released). If you use this map, you would declare you keyboard as 46// pc101 or pc102 instead of pc104 or pc105. 47partial modifier_keys 48xkb_symbols "lwin_switch" { 49 key <LWIN> { 50 symbols[Group1] = [ Mode_switch, Multi_key ], 51 virtualMods= AltGr 52 }; 53}; 54 55// using the group(rwin_switch) map, the right Windows' logo key 56// temporarily chooses the second keyboard group (until it is 57// released). If you use this map, you would declare you keyboard as 58// pc101 or pc102 instead of pc104 or pc105. 59partial modifier_keys 60xkb_symbols "rwin_switch" { 61 key <RWIN> { 62 symbols[Group1] = [ Mode_switch, Multi_key ], 63 virtualMods= AltGr 64 }; 65}; 66 67// Right Ctrl key temporary chooses the second keyboard group. 68// Needed mainly for Canadian keyboard 69partial modifier_keys 70xkb_symbols "rctrl_switch" { 71 key <RCTL> { 72 symbols[Group1]= [ Mode_switch ] 73 }; 74}; 75 76// using the group(toggle) map, pressing the right alt key switches to 77// the next sequential group (until the next explicit group change). 78partial modifier_keys 79xkb_symbols "toggle" { 80 virtual_modifiers AltGr; 81 key <RALT> { 82 symbols[Group1]= [ ISO_Next_Group ], 83 virtualMods= AltGr 84 }; 85}; 86 87// using the group(shifts_toggle) map, pressing both shift keys together 88// locks the next or previous sequential keyboard group 89// (depending on which shift is pressed first - right or left, 90// correspongingly) 91partial modifier_keys 92xkb_symbols "shifts_toggle" { 93 key <LFSH> { [ Shift_L, ISO_Prev_Group ] }; 94 key <RTSH> { [ Shift_R, ISO_Next_Group ] }; 95}; 96 97// using the group(ctrl_shift_toggle) map, pressing: 98// Control_L+Shift_L locks the previous group 99// Control_R+Shift_R locks the next group 100// If you have two groups and group wrap is enabled, the effect is 101// indistinguishable. 102partial modifier_keys 103xkb_symbols "ctrl_shift_toggle" { 104 key <LFSH> { 105 type[Group1]="PC_CONTROL_LEVEL2", 106 symbols[Group1]= [ Shift_L, ISO_Prev_Group ] 107 }; 108 key <RTSH> { 109 type[Group1]="PC_CONTROL_LEVEL2", 110 symbols[Group1]= [ Shift_R, ISO_Next_Group ] 111 }; 112 key <LCTL> { [ Control_L, ISO_Prev_Group ] }; 113 key <RCTL> { [ Control_R, ISO_Next_Group ] }; 114}; 115 116// using the group(lctrl_lshift_toggle) map, pressing: 117// Control_L+Shift_L locks the next group 118// If you have two groups and group wrap is enabled, the effect is 119// indistinguishable. 120partial modifier_keys 121xkb_symbols "lctrl_lshift_toggle" { 122 key <LFSH> { 123 type[Group1]="PC_CONTROL_LEVEL2", 124 symbols[Group1]= [ Shift_L, ISO_Next_Group ] 125 }; 126 key <LCTL> { [ Control_L, ISO_Next_Group ] }; 127}; 128 129// using the group(caps_toggle) map, pressing: 130// Caps Lock toggles groups 131// Shift+Caps Lock toggles caps lock 132partial modifier_keys 133xkb_symbols "caps_toggle" { 134 include "capslock(grouplock)" 135}; 136 137// using the group(shift_caps_toggle) map, pressing: 138// Shift+Caps Lock toggles group 139partial modifier_keys 140xkb_symbols "shift_caps_toggle" { 141 key <CAPS> { [ Caps_Lock, ISO_Next_Group ] }; 142}; 143 144// using the group(shift_caps_switch) map, pressing: 145// Caps Lock selects the first group 146// Shift+Caps Lock selects the last group 147partial modifier_keys 148xkb_symbols "shift_caps_switch" { 149 key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] }; 150}; 151 152// using the group(ctrl_alt_toggle) map, pressing: 153// Control_L+Alt_L locks the previous group 154// Control_R+Alt_R locks the next group 155// If you have two groups and group wrap is enabled, the effect is 156// indistinguishable. 157partial modifier_keys 158xkb_symbols "ctrl_alt_toggle" { 159 virtual_modifiers Alt; 160 key <LALT> { 161 type[Group1]="PC_CONTROL_LEVEL2", 162 symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 163 virtualMods= Alt 164 }; 165 key <RALT> { 166 type[Group1]="PC_CONTROL_LEVEL2", 167 symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 168 virtualMods= Alt 169 }; 170 key <LCTL> { 171 type[Group1]="PC_ALT_LEVEL2", 172 symbols[Group1]= [ Control_L, ISO_Prev_Group ] 173 }; 174 key <RCTL> { 175 type[Group1]="PC_ALT_LEVEL2", 176 symbols[Group1]= [ Control_R, ISO_Next_Group ] 177 }; 178}; 179 180// using the group(alt_shift_toggle) map, pressing: 181// Shift_L+Alt_L locks the previous group 182// Shift_R+Alt_R locks the next group 183// If you have two groups and group wrap is enabled, the effect is 184// indistinguishable. 185partial modifier_keys 186xkb_symbols "alt_shift_toggle" { 187 virtual_modifiers Alt; 188 key <LALT> { 189 symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 190 virtualMods= Alt 191 }; 192 key <RALT> { 193 symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 194 virtualMods= Alt 195 }; 196 key <LFSH> { 197 type[Group1]="PC_ALT_LEVEL2", 198 symbols[Group1]= [ Shift_L, ISO_Prev_Group ] 199 }; 200 key <RTSH> { 201 type[Group1]="PC_ALT_LEVEL2", 202 symbols[Group1]= [ Shift_R, ISO_Next_Group ] 203 }; 204}; 205 206// using the group(menu_toggle) map, pressing: 207// Menu key toggles groups 208// Shift+Menu acts as Menu 209partial modifier_keys 210xkb_symbols "menu_toggle" { 211 key <MENU> { [ ISO_Next_Group, Menu ] }; 212}; 213 214// using the group(lwin_toggle) map, pressing the left Windows' logo key 215// toggles groups. If you use this map, you would declare you keyboard 216// as pc101 or pc102 instead of pc104 or pc105. 217partial modifier_keys 218xkb_symbols "lwin_toggle" { 219 virtual_modifiers AltGr; 220 key <LWIN> { 221 virtualMods= AltGr, 222 symbols[Group1] = [ ISO_Next_Group ] 223 }; 224}; 225 226// using the group(rwin_toggle) map, pressing the right Windows' logo key 227// toggles groups. If you use this map, you would declare you keyboard 228// as pc101 or pc102 instead of pc104 or pc105. 229partial modifier_keys 230xkb_symbols "rwin_toggle" { 231 virtual_modifiers AltGr; 232 key <RWIN> { 233 virtualMods= AltGr, 234 symbols[Group1] = [ ISO_Next_Group ] 235 }; 236}; 237 238// Both Ctrls pressed together toggle group 239partial modifier_keys 240xkb_symbols "ctrls_toggle" { 241 virtual_modifiers LControl, RControl; 242 key <LCTL> { 243 type[Group1]="PC_RCONTROL_LEVEL2", 244 symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 245 virtualMods= LControl 246 }; 247 key <RCTL> { 248 type[Group1]="PC_LCONTROL_LEVEL2", 249 symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 250 virtualMods= RControl 251 }; 252}; 253 254// Both Alts pressed together toggle group 255partial modifier_keys 256xkb_symbols "alts_toggle" { 257 virtual_modifiers LAlt, RAlt; 258 key <LALT> { 259 type[Group1]="PC_RALT_LEVEL2", 260 symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], 261 virtualMods= LAlt 262 }; 263 key <RALT> { 264 type[Group1]="PC_LALT_LEVEL2", 265 symbols[Group1]= [ NoSymbol, ISO_Next_Group ], 266 virtualMods= RAlt 267 }; 268}; 269 270// Left Shift key toggles group 271partial modifier_keys 272xkb_symbols "lshift_toggle" { 273 virtual_modifiers AltGr; 274 key <LFSH> { 275 symbols[Group1]= [ ISO_Next_Group ], 276 virtualMods= AltGr 277 }; 278}; 279 280// Right Shift key toggles group 281partial modifier_keys 282xkb_symbols "rshift_toggle" { 283 virtual_modifiers AltGr; 284 key <RTSH> { 285 symbols[Group1]= [ ISO_Next_Group ], 286 virtualMods= AltGr 287 }; 288}; 289 290// Left Alt key toggles group 291partial modifier_keys 292xkb_symbols "lalt_toggle" { 293 virtual_modifiers AltGr; 294 key <LALT> { 295 symbols[Group1]= [ ISO_Next_Group ], 296 virtualMods= AltGr 297 }; 298}; 299 300// Left Ctrl key toggles group 301partial modifier_keys 302xkb_symbols "lctrl_toggle" { 303 virtual_modifiers AltGr; 304 key <LCTL> { 305 symbols[Group1]= [ ISO_Next_Group ], 306 virtualMods= AltGr 307 }; 308}; 309 310// Right Ctrl key toggles group 311partial modifier_keys 312xkb_symbols "rctrl_toggle" { 313 virtual_modifiers AltGr; 314 key <RCTL> { 315 symbols[Group1]= [ ISO_Next_Group ], 316 virtualMods= AltGr 317 }; 318}; 319 320// using the group(alt_caps_toggle) map, pressing: 321// Alt+Caps Lock toggles group 322// Caps Lock toggles caps lock 323partial modifier_keys 324xkb_symbols "alt_caps_toggle" { 325 key <CAPS> { 326 type="PC_ALT_LEVEL2", 327 symbols[Group1]= [ Caps_Lock, ISO_Next_Group] 328 }; 329}; 330 331partial hidden modifier_keys 332xkb_symbols "olpc" { 333 key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] }; 334}; 335 336