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