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