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