Home | History | Annotate | Line # | Download | only in symbols
level3 revision 1.1.1.8
      1  1.1.1.6   mrg // These partial variants assign ISO_Level3_Shift to various XKB keycodes
      2  1.1.1.6   mrg // so that the third shift level can be reached.
      3      1.1   mrg 
      4  1.1.1.6   mrg // The default behaviour:
      5  1.1.1.6   mrg // the right Alt key (AltGr) chooses the third symbol engraved on a key.
      6  1.1.1.6   mrg default  partial modifier_keys
      7  1.1.1.6   mrg xkb_symbols "ralt_switch" {
      8  1.1.1.6   mrg   key <RALT> {
      9  1.1.1.6   mrg     type[Group1]="ONE_LEVEL",
     10  1.1.1.6   mrg     symbols[Group1] = [ ISO_Level3_Shift ]
     11  1.1.1.6   mrg   };
     12  1.1.1.6   mrg   include "level3(modifier_mapping)"
     13  1.1.1.6   mrg };
     14  1.1.1.6   mrg 
     15  1.1.1.6   mrg // Ensure a mapping to a real modifier for LevelThree.
     16  1.1.1.5   mrg partial modifier_keys
     17  1.1.1.5   mrg xkb_symbols "modifier_mapping" {
     18  1.1.1.5   mrg   replace key <LVL3> {
     19  1.1.1.6   mrg     type[Group1] = "ONE_LEVEL",
     20  1.1.1.5   mrg     symbols[Group1] = [ ISO_Level3_Shift ]
     21  1.1.1.5   mrg   };
     22  1.1.1.5   mrg   modifier_map Mod5 { <LVL3> };
     23  1.1.1.5   mrg };
     24  1.1.1.5   mrg 
     25  1.1.1.6   mrg // The right Alt key never chooses the third level.
     26  1.1.1.6   mrg // This option attempts to undo the effect of a layout's inclusion of
     27  1.1.1.6   mrg // 'ralt_switch'.  You may want to also select another level3 option
     28  1.1.1.6   mrg // to map the level3 shift to some other key.
     29      1.1   mrg partial modifier_keys
     30      1.1   mrg xkb_symbols "ralt_alt" {
     31  1.1.1.6   mrg   key <RALT> {
     32      1.1   mrg     type[Group1]="TWO_LEVEL",
     33      1.1   mrg     type[Group2]="TWO_LEVEL",
     34      1.1   mrg     type[Group3]="TWO_LEVEL",
     35      1.1   mrg     type[Group4]="TWO_LEVEL",
     36  1.1.1.6   mrg     symbols[Group1] = [ Alt_R, Meta_R ],
     37  1.1.1.6   mrg     symbols[Group2] = [ Alt_R, Meta_R ],
     38  1.1.1.6   mrg     symbols[Group3] = [ Alt_R, Meta_R ],
     39      1.1   mrg     symbols[Group4] = [ Alt_R, Meta_R ]
     40  1.1.1.6   mrg   };
     41  1.1.1.6   mrg   modifier_map Mod1 { <RALT> };
     42      1.1   mrg };
     43      1.1   mrg 
     44  1.1.1.6   mrg // The right Alt key (while pressed) chooses the third shift level,
     45  1.1.1.6   mrg // and Compose is mapped to its second level.
     46      1.1   mrg partial modifier_keys
     47      1.1   mrg xkb_symbols "ralt_switch_multikey" {
     48      1.1   mrg   key <RALT> {
     49      1.1   mrg     type[Group1]="TWO_LEVEL",
     50      1.1   mrg     symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
     51  1.1.1.6   mrg   };
     52  1.1.1.5   mrg   include "level3(modifier_mapping)"
     53      1.1   mrg };
     54      1.1   mrg 
     55  1.1.1.6   mrg // A special case of the right-Alt switch -- for use with grp:alts_toggle.
     56  1.1.1.7   mrg hidden partial modifier_keys
     57      1.1   mrg xkb_symbols "ralt_switch_for_alts_toggle" {
     58  1.1.1.6   mrg   virtual_modifiers LAlt, AltGr;
     59      1.1   mrg   key <LALT> {
     60      1.1   mrg     type[Group1]="PC_RALT_LEVEL2",
     61  1.1.1.6   mrg     symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ],
     62      1.1   mrg     virtualMods= LAlt
     63      1.1   mrg   };
     64      1.1   mrg   key <RALT> {
     65      1.1   mrg     type[Group1]="PC_ALT_LEVEL2",
     66      1.1   mrg     symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
     67      1.1   mrg     virtualMods= AltGr
     68      1.1   mrg   };
     69  1.1.1.5   mrg   include "level3(modifier_mapping)"
     70      1.1   mrg };
     71      1.1   mrg 
     72  1.1.1.6   mrg // Either Alt key (while pressed) chooses the third shift level.
     73  1.1.1.6   mrg // (To be used mostly to imitate Mac OS functionality.)
     74      1.1   mrg partial modifier_keys
     75      1.1   mrg xkb_symbols "alt_switch" {
     76      1.1   mrg   include "level3(lalt_switch)"
     77      1.1   mrg   include "level3(ralt_switch)"
     78      1.1   mrg };
     79      1.1   mrg 
     80  1.1.1.6   mrg // The left Alt key (while pressed) chooses the third shift level.
     81      1.1   mrg partial modifier_keys
     82      1.1   mrg xkb_symbols "lalt_switch" {
     83      1.1   mrg   key <LALT> {
     84      1.1   mrg     type[Group1]="ONE_LEVEL",
     85      1.1   mrg     symbols[Group1] = [ ISO_Level3_Shift ]
     86  1.1.1.6   mrg   };
     87  1.1.1.5   mrg   include "level3(modifier_mapping)"
     88      1.1   mrg };
     89      1.1   mrg 
     90  1.1.1.6   mrg // The right Ctrl key (while pressed) chooses the third shift level.
     91      1.1   mrg partial modifier_keys
     92      1.1   mrg xkb_symbols "switch" {
     93      1.1   mrg   key <RCTL> {
     94      1.1   mrg     type[Group1]="ONE_LEVEL",
     95      1.1   mrg     symbols[Group1] = [ ISO_Level3_Shift ]
     96  1.1.1.6   mrg   };
     97  1.1.1.5   mrg   include "level3(modifier_mapping)"
     98      1.1   mrg };
     99      1.1   mrg 
    100  1.1.1.6   mrg // The Menu key (while pressed) chooses the third shift level.
    101      1.1   mrg partial modifier_keys
    102      1.1   mrg xkb_symbols "menu_switch" {
    103      1.1   mrg   key <MENU> {
    104      1.1   mrg     type[Group1]="ONE_LEVEL",
    105      1.1   mrg     symbols[Group1] = [ ISO_Level3_Shift ]
    106  1.1.1.6   mrg   };
    107  1.1.1.5   mrg   include "level3(modifier_mapping)"
    108      1.1   mrg };
    109      1.1   mrg 
    110  1.1.1.6   mrg // Either Win key (while pressed) chooses the third shift level.
    111      1.1   mrg partial modifier_keys
    112      1.1   mrg xkb_symbols "win_switch" {
    113      1.1   mrg   include "level3(lwin_switch)"
    114      1.1   mrg   include "level3(rwin_switch)"
    115      1.1   mrg };
    116      1.1   mrg 
    117  1.1.1.6   mrg // The left Win key (while pressed) chooses the third shift level.
    118      1.1   mrg partial modifier_keys
    119      1.1   mrg xkb_symbols "lwin_switch" {
    120      1.1   mrg   key <LWIN> {
    121      1.1   mrg     type[Group1]="ONE_LEVEL",
    122      1.1   mrg     symbols[Group1] = [ ISO_Level3_Shift ]
    123  1.1.1.6   mrg   };
    124  1.1.1.5   mrg   include "level3(modifier_mapping)"
    125      1.1   mrg };
    126      1.1   mrg 
    127  1.1.1.6   mrg // The right Win key (while pressed) chooses the third shift level.
    128  1.1.1.6   mrg // (When using this map, you should set your keyboard as pc101 or pc102
    129  1.1.1.6   mrg // instead of pc104 or pc105.)
    130      1.1   mrg partial modifier_keys
    131      1.1   mrg xkb_symbols "rwin_switch" {
    132      1.1   mrg   key <RWIN> {
    133      1.1   mrg     type[Group1]="ONE_LEVEL",
    134      1.1   mrg     symbols[Group1] = [ ISO_Level3_Shift ]
    135  1.1.1.6   mrg   };
    136  1.1.1.5   mrg   include "level3(modifier_mapping)"
    137      1.1   mrg };
    138      1.1   mrg 
    139  1.1.1.6   mrg // The Enter key on the kepypad (while pressed) chooses the third shift level.
    140  1.1.1.6   mrg // (This is especially useful for Mac laptops which miss the right Alt key.)
    141  1.1.1.3  ghen partial modifier_keys
    142      1.1   mrg xkb_symbols "enter_switch" {
    143      1.1   mrg   key <KPEN> {
    144      1.1   mrg     type[Group1]="ONE_LEVEL",
    145      1.1   mrg     symbols[Group1] = [ ISO_Level3_Shift ]
    146  1.1.1.6   mrg   };
    147  1.1.1.5   mrg   include "level3(modifier_mapping)"
    148      1.1   mrg };
    149  1.1.1.3  ghen 
    150  1.1.1.6   mrg // The CapsLock key (while pressed) chooses the third shift level.
    151  1.1.1.3  ghen partial modifier_keys
    152  1.1.1.3  ghen xkb_symbols "caps_switch" {
    153  1.1.1.3  ghen   key <CAPS> {
    154  1.1.1.3  ghen     type[Group1]="ONE_LEVEL",
    155  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift ]
    156  1.1.1.3  ghen   };
    157  1.1.1.5   mrg   include "level3(modifier_mapping)"
    158  1.1.1.3  ghen };
    159  1.1.1.3  ghen 
    160  1.1.1.6   mrg // The Backslash key (while pressed) chooses the third shift level.
    161  1.1.1.3  ghen partial modifier_keys
    162  1.1.1.3  ghen xkb_symbols "bksl_switch" {
    163  1.1.1.3  ghen   key <BKSL> {
    164  1.1.1.3  ghen     type[Group1]="ONE_LEVEL",
    165  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift ]
    166  1.1.1.3  ghen   };
    167  1.1.1.5   mrg   include "level3(modifier_mapping)"
    168  1.1.1.3  ghen };
    169  1.1.1.3  ghen 
    170  1.1.1.6   mrg // The Less/Greater key (while pressed) chooses the third shift level.
    171  1.1.1.3  ghen partial modifier_keys
    172  1.1.1.3  ghen xkb_symbols "lsgt_switch" {
    173  1.1.1.3  ghen   key <LSGT> {
    174  1.1.1.3  ghen     type[Group1]="ONE_LEVEL",
    175  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift ]
    176  1.1.1.3  ghen   };
    177  1.1.1.5   mrg   include "level3(modifier_mapping)"
    178  1.1.1.3  ghen };
    179  1.1.1.3  ghen 
    180  1.1.1.6   mrg // The CapsLock key (while pressed) chooses the third shift level,
    181  1.1.1.6   mrg // and latches when pressed together with another third-level chooser.
    182  1.1.1.3  ghen partial modifier_keys
    183  1.1.1.3  ghen xkb_symbols "caps_switch_latch" {
    184  1.1.1.3  ghen   key <CAPS> {
    185  1.1.1.3  ghen     type[Group1]="THREE_LEVEL",
    186  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
    187  1.1.1.3  ghen   };
    188  1.1.1.5   mrg   include "level3(modifier_mapping)"
    189  1.1.1.3  ghen };
    190  1.1.1.3  ghen 
    191  1.1.1.6   mrg // The Backslash key (while pressed) chooses the third shift level,
    192  1.1.1.6   mrg // and latches when pressed together with another third-level chooser.
    193  1.1.1.3  ghen partial modifier_keys
    194  1.1.1.3  ghen xkb_symbols "bksl_switch_latch" {
    195  1.1.1.3  ghen   key <BKSL> {
    196  1.1.1.3  ghen     type[Group1]="THREE_LEVEL",
    197  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
    198  1.1.1.3  ghen   };
    199  1.1.1.5   mrg   include "level3(modifier_mapping)"
    200  1.1.1.3  ghen };
    201  1.1.1.3  ghen 
    202  1.1.1.6   mrg // The Less/Greater key (while pressed) chooses the third shift level,
    203  1.1.1.6   mrg // and latches when pressed together with another third-level chooser.
    204  1.1.1.3  ghen partial modifier_keys
    205  1.1.1.3  ghen xkb_symbols "lsgt_switch_latch" {
    206  1.1.1.3  ghen   key <LSGT> {
    207  1.1.1.3  ghen     type[Group1]="THREE_LEVEL",
    208  1.1.1.3  ghen     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
    209  1.1.1.3  ghen   };
    210  1.1.1.5   mrg   include "level3(modifier_mapping)"
    211  1.1.1.3  ghen };
    212  1.1.1.8   mrg 
    213  1.1.1.8   mrg // Number key 4 chooses third shift level when pressed in isolation.
    214  1.1.1.8   mrg partial modifier_keys
    215  1.1.1.8   mrg xkb_symbols "4_switch_isolated" {
    216  1.1.1.8   mrg   override key <AE04> {
    217  1.1.1.8   mrg     symbols[Group1] = [ ISO_Level3_Shift ]
    218  1.1.1.8   mrg   };
    219  1.1.1.8   mrg   include "level3(modifier_mapping)"
    220  1.1.1.8   mrg };
    221  1.1.1.8   mrg 
    222  1.1.1.8   mrg // Number key 9 chooses third shift level when pressed in isolation.
    223  1.1.1.8   mrg partial modifier_keys
    224  1.1.1.8   mrg xkb_symbols "9_switch_isolated" {
    225  1.1.1.8   mrg   override key <AE09> {
    226  1.1.1.8   mrg     symbols[Group1] = [ ISO_Level3_Shift ]
    227  1.1.1.8   mrg   };
    228  1.1.1.8   mrg   include "level3(modifier_mapping)"
    229  1.1.1.8   mrg };
    230