Home | History | Annotate | Line # | Download | only in symbols
group revision 1.1.1.11
      1   1.1.1.6   mrg // The right Alt key (while pressed) chooses the second keyboard group.
      2   1.1.1.6   mrg partial modifier_keys
      3       1.1   mrg xkb_symbols "switch" {
      4   1.1.1.6   mrg     key <RALT> {
      5   1.1.1.6   mrg         symbols[Group1] = [ Mode_switch, Multi_key ],
      6   1.1.1.6   mrg         virtualMods= AltGr
      7       1.1   mrg     };
      8       1.1   mrg };
      9       1.1   mrg 
     10   1.1.1.6   mrg // The left Alt key (while pressed) chooses the second keyboard group.
     11   1.1.1.6   mrg partial modifier_keys
     12       1.1   mrg xkb_symbols "lswitch" {
     13   1.1.1.6   mrg     key <LALT> {
     14   1.1.1.6   mrg         symbols[Group1] = [ Mode_switch, Multi_key ],
     15   1.1.1.6   mrg         virtualMods= AltGr
     16       1.1   mrg     };
     17       1.1   mrg };
     18       1.1   mrg 
     19   1.1.1.6   mrg // Either Win key (while pressed) chooses the second keyboard group.
     20       1.1   mrg partial modifier_keys
     21       1.1   mrg xkb_symbols "win_switch" {
     22   1.1.1.2   mrg     include "group(lwin_switch)"
     23   1.1.1.2   mrg     include "group(rwin_switch)"
     24       1.1   mrg };
     25       1.1   mrg 
     26   1.1.1.6   mrg // The left Win key (while pressed) chooses the second keyboard group.
     27   1.1.1.6   mrg // (Using this map, you should declare your keyboard as pc101 or pc102
     28   1.1.1.6   mrg // instead of pc104 or pc105.)
     29       1.1   mrg partial modifier_keys
     30       1.1   mrg xkb_symbols "lwin_switch" {
     31   1.1.1.6   mrg     key <LWIN> {
     32   1.1.1.6   mrg         symbols[Group1] = [ Mode_switch, Multi_key ],
     33   1.1.1.6   mrg         virtualMods= AltGr
     34       1.1   mrg     };
     35       1.1   mrg };
     36       1.1   mrg 
     37   1.1.1.6   mrg // The right Win key (while pressed) chooses the second keyboard group.
     38   1.1.1.6   mrg // (Using this map, you should declare your keyboard as pc101 or pc102
     39   1.1.1.6   mrg // instead of pc104 or pc105.)
     40       1.1   mrg partial modifier_keys
     41       1.1   mrg xkb_symbols "rwin_switch" {
     42   1.1.1.6   mrg     key <RWIN> {
     43   1.1.1.6   mrg         symbols[Group1] = [ Mode_switch, Multi_key ],
     44   1.1.1.6   mrg         virtualMods= AltGr
     45       1.1   mrg     };
     46       1.1   mrg };
     47       1.1   mrg 
     48  1.1.1.11   mrg // The right Menu key (while pressed) chooses the second keyboard group.
     49  1.1.1.11   mrg // while Shift+Menu acts as Menu.
     50  1.1.1.11   mrg partial modifier_keys
     51  1.1.1.11   mrg xkb_symbols "menu_switch" {
     52  1.1.1.11   mrg     key <MENU> {
     53  1.1.1.11   mrg         symbols[Group1] = [ Mode_switch, Menu ],
     54  1.1.1.11   mrg         virtualMods= AltGr
     55  1.1.1.11   mrg     };
     56  1.1.1.11   mrg };
     57  1.1.1.11   mrg 
     58   1.1.1.6   mrg // The right Ctrl key (while pressed) chooses the second keyboard group.
     59   1.1.1.6   mrg // (Needed mainly for the Canadian keyboard.)
     60       1.1   mrg partial modifier_keys
     61       1.1   mrg xkb_symbols "rctrl_switch" {
     62   1.1.1.6   mrg     key <RCTL> {
     63   1.1.1.6   mrg         symbols[Group1] = [ Mode_switch ]
     64       1.1   mrg     };
     65       1.1   mrg };
     66       1.1   mrg 
     67   1.1.1.6   mrg // Pressing the right Alt key switches to the next group.
     68   1.1.1.6   mrg partial modifier_keys
     69       1.1   mrg xkb_symbols "toggle" {
     70       1.1   mrg     virtual_modifiers AltGr;
     71   1.1.1.6   mrg     key <RALT> {
     72   1.1.1.6   mrg         symbols[Group1] = [ ISO_Next_Group ],
     73   1.1.1.6   mrg         virtualMods= AltGr
     74       1.1   mrg     };
     75       1.1   mrg };
     76       1.1   mrg 
     77   1.1.1.6   mrg // Pressing both Shift keys switches to the next or previous group
     78   1.1.1.6   mrg // (depending on which Shift is pressed first).
     79   1.1.1.6   mrg partial modifier_keys
     80       1.1   mrg xkb_symbols "shifts_toggle" {
     81   1.1.1.6   mrg     key <LFSH> { [ Shift_L, ISO_Prev_Group ] };
     82   1.1.1.6   mrg     key <RTSH> { [ Shift_R, ISO_Next_Group ] };
     83       1.1   mrg };
     84       1.1   mrg 
     85   1.1.1.6   mrg // Pressing Shift+Caps_Lock switches to the next group.
     86       1.1   mrg partial modifier_keys
     87       1.1   mrg xkb_symbols "shift_caps_toggle" {
     88   1.1.1.6   mrg     key <CAPS> { [ Caps_Lock, ISO_Next_Group ] };
     89       1.1   mrg };
     90       1.1   mrg 
     91   1.1.1.6   mrg // Pressing Caps_Lock selects the first group,
     92   1.1.1.6   mrg // pressing Shift+Caps_Lock selects the last group.
     93       1.1   mrg partial modifier_keys
     94       1.1   mrg xkb_symbols "shift_caps_switch" {
     95       1.1   mrg     key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] };
     96       1.1   mrg };
     97       1.1   mrg 
     98   1.1.1.7   mrg // toggle using win + space as combo
     99   1.1.1.7   mrg partial modifier_keys
    100   1.1.1.7   mrg xkb_symbols "win_space_toggle" {
    101   1.1.1.7   mrg   key <SPCE> {
    102   1.1.1.9   snj     type="PC_SUPER_LEVEL2",
    103   1.1.1.9   snj     symbols[Group1]= [ space, ISO_Next_Group ],
    104   1.1.1.9   snj     symbols[Group2]= [ space, ISO_Next_Group ]
    105   1.1.1.7   mrg   };
    106   1.1.1.7   mrg };
    107   1.1.1.7   mrg 
    108   1.1.1.6   mrg // Pressing the left Win key selects the first group,
    109   1.1.1.6   mrg // pressing the right Win or the Menu key selects the last group.
    110   1.1.1.3  ghen partial modifier_keys
    111   1.1.1.3  ghen xkb_symbols "win_menu_switch" {
    112   1.1.1.3  ghen     virtual_modifiers AltGr;
    113   1.1.1.3  ghen     key <LWIN> {
    114   1.1.1.3  ghen         virtualMods= AltGr,
    115   1.1.1.3  ghen         symbols[Group1] = [ ISO_First_Group ]
    116   1.1.1.3  ghen     };
    117   1.1.1.3  ghen     key <MENU> {
    118   1.1.1.3  ghen         virtualMods= AltGr,
    119   1.1.1.3  ghen         symbols[Group1] = [ ISO_Last_Group ]
    120   1.1.1.3  ghen     };
    121   1.1.1.3  ghen     key <RWIN> {
    122   1.1.1.3  ghen         virtualMods= AltGr,
    123   1.1.1.3  ghen         symbols[Group1] = [ ISO_Last_Group ]
    124   1.1.1.3  ghen     };
    125   1.1.1.3  ghen };
    126   1.1.1.3  ghen 
    127   1.1.1.6   mrg // Pressing the left Ctrl key selects the first group,
    128   1.1.1.6   mrg // pressing the right Ctrl key selects the last group.
    129   1.1.1.3  ghen partial modifier_keys
    130   1.1.1.3  ghen xkb_symbols "lctrl_rctrl_switch" {
    131   1.1.1.3  ghen     virtual_modifiers AltGr;
    132   1.1.1.3  ghen     key <LCTL> {
    133   1.1.1.3  ghen         virtualMods= AltGr,
    134   1.1.1.3  ghen         symbols[Group1] = [ ISO_First_Group ]
    135   1.1.1.3  ghen     };
    136   1.1.1.3  ghen     key <RCTL> {
    137   1.1.1.3  ghen         virtualMods= AltGr,
    138   1.1.1.3  ghen         symbols[Group1] = [ ISO_Last_Group ]
    139   1.1.1.3  ghen     };
    140   1.1.1.3  ghen };
    141   1.1.1.3  ghen 
    142   1.1.1.5   mrg 
    143   1.1.1.5   mrg //
    144   1.1.1.5   mrg // CTRL-SHIFT toggle section
    145   1.1.1.5   mrg //
    146   1.1.1.6   mrg partial modifier_keys
    147   1.1.1.5   mrg xkb_symbols "lctrl_lshift_toggle" {
    148   1.1.1.5   mrg     key <LFSH> {
    149   1.1.1.5   mrg         type[Group1]="PC_CONTROL_LEVEL2",
    150   1.1.1.6   mrg         symbols[Group1] = [ Shift_L, ISO_Next_Group ]
    151   1.1.1.5   mrg     };
    152   1.1.1.5   mrg     key <LCTL> { [ Control_L, ISO_Next_Group ] };
    153   1.1.1.5   mrg };
    154   1.1.1.5   mrg 
    155   1.1.1.6   mrg partial modifier_keys
    156   1.1.1.5   mrg xkb_symbols "lctrl_lshift_toggle_rev" {
    157   1.1.1.5   mrg     key <LFSH> {
    158   1.1.1.5   mrg         type[Group1]="PC_CONTROL_LEVEL2",
    159   1.1.1.6   mrg         symbols[Group1] = [ Shift_L, ISO_Prev_Group ]
    160   1.1.1.5   mrg     };
    161   1.1.1.5   mrg     key <LCTL> { [ Control_L, ISO_Prev_Group ] };
    162   1.1.1.5   mrg };
    163   1.1.1.5   mrg 
    164   1.1.1.5   mrg partial modifier_keys
    165   1.1.1.5   mrg xkb_symbols "rctrl_rshift_toggle" {
    166   1.1.1.5   mrg     key <RTSH> {
    167   1.1.1.5   mrg         type[Group1]="PC_CONTROL_LEVEL2",
    168   1.1.1.6   mrg         symbols[Group1] = [ Shift_R, ISO_Next_Group ]
    169   1.1.1.5   mrg     };
    170   1.1.1.5   mrg     key <RCTL> { [ Control_R, ISO_Next_Group ] };
    171   1.1.1.5   mrg };
    172   1.1.1.5   mrg 
    173   1.1.1.6   mrg partial modifier_keys
    174   1.1.1.5   mrg xkb_symbols "ctrl_shift_toggle" {
    175   1.1.1.5   mrg     include "group(lctrl_lshift_toggle)"
    176   1.1.1.5   mrg     include "group(rctrl_rshift_toggle)"
    177   1.1.1.5   mrg };
    178   1.1.1.5   mrg 
    179   1.1.1.6   mrg partial modifier_keys
    180   1.1.1.5   mrg xkb_symbols "ctrl_shift_toggle_bidir" {
    181   1.1.1.5   mrg     include "group(lctrl_lshift_toggle_rev)"
    182   1.1.1.5   mrg     include "group(rctrl_rshift_toggle)"
    183   1.1.1.5   mrg };
    184   1.1.1.5   mrg 
    185   1.1.1.5   mrg 
    186   1.1.1.5   mrg //
    187   1.1.1.5   mrg // CTRL-ALT toggle section
    188   1.1.1.5   mrg //
    189   1.1.1.5   mrg partial modifier_keys
    190   1.1.1.5   mrg xkb_symbols "lctrl_lalt_toggle" {
    191       1.1   mrg     virtual_modifiers Alt;
    192       1.1   mrg     key <LALT> {
    193   1.1.1.5   mrg         type[Group1]="PC_CONTROL_LEVEL2",
    194   1.1.1.6   mrg         symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
    195   1.1.1.5   mrg         virtualMods= Alt
    196       1.1   mrg     };
    197   1.1.1.5   mrg     key <LCTL> {
    198   1.1.1.5   mrg         type[Group1]="PC_ALT_LEVEL2",
    199   1.1.1.6   mrg         symbols[Group1] = [ Control_L, ISO_Next_Group ]
    200   1.1.1.5   mrg     };
    201   1.1.1.5   mrg };
    202   1.1.1.5   mrg 
    203   1.1.1.5   mrg partial modifier_keys
    204   1.1.1.5   mrg xkb_symbols "lctrl_lalt_toggle_rev" {
    205   1.1.1.5   mrg     virtual_modifiers Alt;
    206   1.1.1.5   mrg     key <LALT> {
    207   1.1.1.5   mrg         type[Group1]="PC_CONTROL_LEVEL2",
    208   1.1.1.6   mrg         symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
    209   1.1.1.5   mrg         virtualMods= Alt
    210       1.1   mrg     };
    211       1.1   mrg     key <LCTL> {
    212   1.1.1.5   mrg         type[Group1]="PC_ALT_LEVEL2",
    213   1.1.1.6   mrg         symbols[Group1] = [ Control_L, ISO_Prev_Group ]
    214   1.1.1.5   mrg     };
    215   1.1.1.5   mrg };
    216   1.1.1.5   mrg 
    217   1.1.1.5   mrg partial modifier_keys
    218   1.1.1.5   mrg xkb_symbols "rctrl_ralt_toggle" {
    219   1.1.1.5   mrg     virtual_modifiers Alt;
    220   1.1.1.5   mrg     key <RALT> {
    221   1.1.1.5   mrg         type[Group1]="PC_CONTROL_LEVEL2",
    222   1.1.1.6   mrg         symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
    223   1.1.1.5   mrg         virtualMods= Alt
    224       1.1   mrg     };
    225       1.1   mrg     key <RCTL> {
    226   1.1.1.5   mrg         type[Group1]="PC_ALT_LEVEL2",
    227   1.1.1.6   mrg         symbols[Group1] = [ Control_R, ISO_Next_Group ]
    228       1.1   mrg     };
    229       1.1   mrg };
    230       1.1   mrg 
    231   1.1.1.6   mrg partial modifier_keys
    232   1.1.1.5   mrg xkb_symbols "ctrl_alt_toggle" {
    233   1.1.1.5   mrg     include "group(lctrl_lalt_toggle)"
    234   1.1.1.5   mrg     include "group(rctrl_ralt_toggle)"
    235   1.1.1.5   mrg };
    236   1.1.1.5   mrg 
    237   1.1.1.6   mrg partial modifier_keys
    238   1.1.1.5   mrg xkb_symbols "ctrl_alt_toggle_bidir" {
    239   1.1.1.5   mrg     include "group(lctrl_lalt_toggle_rev)"
    240   1.1.1.5   mrg     include "group(rctrl_ralt_toggle)"
    241   1.1.1.5   mrg };
    242   1.1.1.5   mrg 
    243   1.1.1.5   mrg 
    244   1.1.1.5   mrg //
    245   1.1.1.5   mrg // ALT-SHIFT toggle section
    246   1.1.1.5   mrg //
    247   1.1.1.5   mrg partial modifier_keys
    248   1.1.1.5   mrg xkb_symbols "lalt_lshift_toggle" {
    249       1.1   mrg     virtual_modifiers Alt;
    250       1.1   mrg     key <LALT> {
    251   1.1.1.6   mrg         symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
    252   1.1.1.5   mrg         virtualMods= Alt
    253       1.1   mrg     };
    254   1.1.1.5   mrg     key <LFSH> {
    255   1.1.1.5   mrg         type[Group1]="PC_ALT_LEVEL2",
    256   1.1.1.6   mrg         symbols[Group1] = [ Shift_L, ISO_Next_Group ]
    257   1.1.1.5   mrg     };
    258   1.1.1.5   mrg };
    259   1.1.1.5   mrg 
    260   1.1.1.5   mrg partial modifier_keys
    261   1.1.1.5   mrg xkb_symbols "lalt_lshift_toggle_rev" {
    262   1.1.1.5   mrg     virtual_modifiers Alt;
    263   1.1.1.5   mrg     key <LALT> {
    264   1.1.1.6   mrg         symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
    265   1.1.1.5   mrg         virtualMods= Alt
    266       1.1   mrg     };
    267       1.1   mrg     key <LFSH> {
    268   1.1.1.5   mrg         type[Group1]="PC_ALT_LEVEL2",
    269   1.1.1.6   mrg         symbols[Group1] = [ Shift_L, ISO_Prev_Group ]
    270   1.1.1.5   mrg     };
    271   1.1.1.5   mrg };
    272   1.1.1.5   mrg 
    273   1.1.1.5   mrg partial modifier_keys
    274   1.1.1.5   mrg xkb_symbols "ralt_rshift_toggle" {
    275   1.1.1.5   mrg     virtual_modifiers Alt;
    276   1.1.1.5   mrg     key <RALT> {
    277   1.1.1.6   mrg         symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
    278   1.1.1.5   mrg         virtualMods= Alt
    279       1.1   mrg     };
    280       1.1   mrg     key <RTSH> {
    281   1.1.1.5   mrg         type[Group1]="PC_ALT_LEVEL2",
    282   1.1.1.6   mrg         symbols[Group1] = [ Shift_R, ISO_Next_Group ]
    283       1.1   mrg     };
    284       1.1   mrg };
    285       1.1   mrg 
    286   1.1.1.6   mrg partial modifier_keys
    287   1.1.1.5   mrg xkb_symbols "alt_shift_toggle" {
    288   1.1.1.5   mrg     include "group(lalt_lshift_toggle)"
    289   1.1.1.5   mrg     include "group(ralt_rshift_toggle)"
    290   1.1.1.5   mrg };
    291   1.1.1.5   mrg 
    292   1.1.1.6   mrg partial modifier_keys
    293   1.1.1.5   mrg xkb_symbols "alt_shift_toggle_bidir" {
    294   1.1.1.5   mrg     include "group(lalt_lshift_toggle_rev)"
    295   1.1.1.5   mrg     include "group(ralt_rshift_toggle)"
    296   1.1.1.5   mrg };
    297   1.1.1.5   mrg 
    298   1.1.1.5   mrg 
    299   1.1.1.6   mrg // Pressing the Menu key switches to the next group,
    300   1.1.1.6   mrg // while Shift+Menu acts as Menu.
    301       1.1   mrg partial modifier_keys
    302       1.1   mrg xkb_symbols "menu_toggle" {
    303   1.1.1.6   mrg     key <MENU> { [ ISO_Next_Group, Menu ] };
    304       1.1   mrg };
    305       1.1   mrg 
    306   1.1.1.6   mrg // Pressing the left Win key switches to the next group.
    307   1.1.1.6   mrg // (Using this map, you should declare your keyboard as
    308   1.1.1.6   mrg // pc101 or pc102 instead of pc104 or pc105.)
    309       1.1   mrg partial modifier_keys
    310       1.1   mrg xkb_symbols "lwin_toggle" {
    311   1.1.1.6   mrg     virtual_modifiers AltGr;
    312   1.1.1.6   mrg     key <LWIN> {
    313   1.1.1.6   mrg          virtualMods= AltGr,
    314   1.1.1.6   mrg         symbols[Group1] = [ ISO_Next_Group ]
    315       1.1   mrg     };
    316       1.1   mrg };
    317       1.1   mrg 
    318   1.1.1.6   mrg // Pressing the right Win key switches to the next group.
    319   1.1.1.6   mrg // (Using this map, you should declare your keyboard as
    320   1.1.1.6   mrg // pc101 or pc102 instead of pc104 or pc105.)
    321       1.1   mrg partial modifier_keys
    322       1.1   mrg xkb_symbols "rwin_toggle" {
    323   1.1.1.6   mrg     virtual_modifiers AltGr;
    324   1.1.1.6   mrg     key <RWIN> {
    325   1.1.1.6   mrg         virtualMods= AltGr,
    326   1.1.1.6   mrg         symbols[Group1] = [ ISO_Next_Group ]
    327       1.1   mrg     };
    328       1.1   mrg };
    329       1.1   mrg 
    330   1.1.1.6   mrg // Pressing both Ctrl keys switches to the next or previous group
    331   1.1.1.6   mrg // (depending on which Ctrl is pressed first).
    332       1.1   mrg partial modifier_keys
    333       1.1   mrg xkb_symbols "ctrls_toggle" {
    334   1.1.1.6   mrg     virtual_modifiers LControl, RControl;
    335       1.1   mrg     key <LCTL> {
    336   1.1.1.9   snj         type[Group1]="PC_CONTROL_LEVEL2",
    337   1.1.1.6   mrg         symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
    338   1.1.1.6   mrg         virtualMods= LControl
    339       1.1   mrg     };
    340       1.1   mrg     key <RCTL> {
    341   1.1.1.9   snj         type[Group1]="PC_CONTROL_LEVEL2",
    342   1.1.1.6   mrg         symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
    343   1.1.1.6   mrg         virtualMods= RControl
    344       1.1   mrg     };
    345       1.1   mrg };
    346       1.1   mrg 
    347  1.1.1.10   mrg // Pressing both Alt switches to the next or previous group
    348   1.1.1.6   mrg // (depending on which Alt is pressed first).
    349       1.1   mrg partial modifier_keys
    350       1.1   mrg xkb_symbols "alts_toggle" {
    351   1.1.1.6   mrg     virtual_modifiers LAlt, RAlt;
    352       1.1   mrg     key <LALT> {
    353   1.1.1.6   mrg         type[Group1]="PC_RALT_LEVEL2",
    354   1.1.1.6   mrg         symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
    355   1.1.1.6   mrg         virtualMods= LAlt
    356       1.1   mrg     };
    357       1.1   mrg     key <RALT> {
    358   1.1.1.6   mrg         type[Group1]="PC_LALT_LEVEL2",
    359   1.1.1.6   mrg         symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
    360   1.1.1.6   mrg         virtualMods= RAlt
    361       1.1   mrg     };
    362       1.1   mrg };
    363       1.1   mrg 
    364   1.1.1.6   mrg // Pressing the left Shift key switches to the next group.
    365       1.1   mrg partial modifier_keys
    366       1.1   mrg xkb_symbols "lshift_toggle" {
    367   1.1.1.6   mrg     virtual_modifiers AltGr;
    368   1.1.1.6   mrg     key <LFSH> {
    369   1.1.1.6   mrg         symbols[Group1] = [ ISO_Next_Group ],
    370   1.1.1.6   mrg         virtualMods= AltGr
    371       1.1   mrg     };
    372       1.1   mrg };
    373       1.1   mrg 
    374   1.1.1.6   mrg // Pressing the right Shift key switches to the next group.
    375       1.1   mrg partial modifier_keys
    376       1.1   mrg xkb_symbols "rshift_toggle" {
    377   1.1.1.6   mrg     virtual_modifiers AltGr;
    378   1.1.1.6   mrg     key <RTSH> {
    379   1.1.1.6   mrg         symbols[Group1] = [ ISO_Next_Group ],
    380   1.1.1.6   mrg         virtualMods= AltGr
    381       1.1   mrg     };
    382       1.1   mrg };
    383       1.1   mrg 
    384   1.1.1.6   mrg // Pressing the left Alt key switches to the next group.
    385       1.1   mrg partial modifier_keys
    386       1.1   mrg xkb_symbols "lalt_toggle" {
    387   1.1.1.6   mrg     virtual_modifiers AltGr;
    388   1.1.1.6   mrg     key <LALT> {
    389   1.1.1.6   mrg         symbols[Group1] = [ ISO_Next_Group ],
    390   1.1.1.6   mrg         virtualMods= AltGr
    391       1.1   mrg     };
    392       1.1   mrg };
    393       1.1   mrg 
    394   1.1.1.6   mrg // Pressing the left Ctrl key switches to the next group.
    395       1.1   mrg partial modifier_keys
    396       1.1   mrg xkb_symbols "lctrl_toggle" {
    397   1.1.1.6   mrg     virtual_modifiers AltGr;
    398   1.1.1.6   mrg     key <LCTL> {
    399   1.1.1.6   mrg         symbols[Group1] = [ ISO_Next_Group ],
    400   1.1.1.6   mrg         virtualMods= AltGr
    401       1.1   mrg     };
    402       1.1   mrg };
    403       1.1   mrg 
    404   1.1.1.6   mrg // Pressing the right Ctrl key switches to the next group.
    405       1.1   mrg partial modifier_keys
    406       1.1   mrg xkb_symbols "rctrl_toggle" {
    407   1.1.1.6   mrg     virtual_modifiers AltGr;
    408   1.1.1.6   mrg     key <RCTL> {
    409   1.1.1.6   mrg         symbols[Group1] = [ ISO_Next_Group ],
    410   1.1.1.6   mrg         virtualMods= AltGr
    411       1.1   mrg     };
    412       1.1   mrg };
    413       1.1   mrg 
    414   1.1.1.6   mrg // Pressing Alt+Caps_Lock switches to the next group,
    415   1.1.1.6   mrg // pressing Caps_Lock toggles CapsLock.
    416       1.1   mrg partial modifier_keys
    417       1.1   mrg xkb_symbols "alt_caps_toggle" {
    418   1.1.1.6   mrg     key <CAPS> {
    419       1.1   mrg        type="PC_ALT_LEVEL2",
    420   1.1.1.6   mrg        symbols[Group1] = [ Caps_Lock, ISO_Next_Group ]
    421       1.1   mrg     };
    422       1.1   mrg };
    423       1.1   mrg 
    424   1.1.1.8   mrg hidden partial modifier_keys
    425       1.1   mrg xkb_symbols "olpc" {
    426   1.1.1.6   mrg     key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
    427       1.1   mrg };
    428       1.1   mrg 
    429   1.1.1.3  ghen partial modifier_keys
    430   1.1.1.3  ghen xkb_symbols "alt_space_toggle" {
    431   1.1.1.3  ghen     key <SPCE> {
    432   1.1.1.6   mrg         type[Group1]="PC_ALT_LEVEL2",
    433   1.1.1.6   mrg         symbols[Group1] = [ space, ISO_Next_Group ]
    434   1.1.1.3  ghen     };
    435   1.1.1.3  ghen };
    436   1.1.1.3  ghen 
    437   1.1.1.6   mrg // Pressing the Scroll Lock key switches to the next group,
    438   1.1.1.3  ghen partial modifier_keys
    439   1.1.1.3  ghen xkb_symbols "sclk_toggle" {
    440   1.1.1.6   mrg     virtual_modifiers AltGr;
    441   1.1.1.6   mrg     key <SCLK> {
    442   1.1.1.6   mrg         virtualMods= AltGr,
    443   1.1.1.6   mrg         symbols[Group1] = [ ISO_Next_Group ]
    444   1.1.1.3  ghen     };
    445   1.1.1.3  ghen };
    446   1.1.1.3  ghen 
    447   1.1.1.6   mrg // Control_L+Win_L selects the first group (presumably Lat),
    448   1.1.1.6   mrg // Control_R+Menu selects the second group (presumably Rus).
    449   1.1.1.4   mrg partial modifier_keys
    450   1.1.1.4   mrg xkb_symbols "lctrl_lwin_rctrl_menu" {
    451   1.1.1.4   mrg     key <LWIN> {
    452   1.1.1.6   mrg         type[Group1] = "PC_CONTROL_LEVEL2",
    453   1.1.1.6   mrg         symbols[Group1] = [ Super_L, ISO_First_Group ]
    454   1.1.1.4   mrg     };
    455   1.1.1.4   mrg     key <MENU> {
    456   1.1.1.6   mrg         type[Group1] = "PC_CONTROL_LEVEL2",
    457   1.1.1.6   mrg         symbols[Group1] = [ Menu, ISO_Last_Group ]
    458   1.1.1.4   mrg     };
    459   1.1.1.6   mrg };
    460   1.1.1.9   snj 
    461   1.1.1.9   snj // Control_L+Win_L toggles groups.
    462   1.1.1.9   snj partial modifier_keys
    463   1.1.1.9   snj xkb_symbols "lctrl_lwin_toggle" {
    464   1.1.1.9   snj     key <LWIN> {
    465   1.1.1.9   snj         type[ Group1 ]    = "PC_CONTROL_LEVEL2",
    466   1.1.1.9   snj         symbols[ Group1 ] = [ Super_L,    ISO_Next_Group ]
    467   1.1.1.9   snj     };
    468   1.1.1.9   snj };
    469   1.1.1.9   snj 
    470