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