Home | History | Annotate | Line # | Download | only in symbols
      1 // These partial variants assign ISO_Level3_Shift to various XKB keycodes
      2 // so that the third shift level can be reached.
      3 
      4 // The default behaviour:
      5 // the right Alt key (AltGr) chooses the third symbol engraved on a key.
      6 default partial modifier_keys
      7 xkb_symbols "ralt_switch" {
      8   key <RALT> {
      9     type[Group1]="ONE_LEVEL",
     10     symbols[Group1] = [ ISO_Level3_Shift ]
     11   };
     12 };
     13 
     14 // The right Alt key never chooses the third level.
     15 // This option attempts to undo the effect of a layout's inclusion of
     16 // 'ralt_switch'.  You may want to also select another level3 option
     17 // to map the level3 shift to some other key.
     18 partial modifier_keys
     19 xkb_symbols "ralt_alt" {
     20   key <RALT> {
     21     type[Group1]="TWO_LEVEL",
     22     symbols[Group1] = [ Alt_R, Meta_R ]
     23   };
     24   modifier_map Mod1 { <RALT> };
     25 };
     26 
     27 // The right Alt key (while pressed) chooses the third shift level,
     28 // and Compose is mapped to its second level.
     29 partial modifier_keys
     30 xkb_symbols "ralt_switch_multikey" {
     31   key <RALT> {
     32     type[Group1]="TWO_LEVEL",
     33     symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
     34   };
     35 };
     36 
     37 // Either Alt key (while pressed) chooses the third shift level.
     38 // (To be used mostly to imitate Mac OS functionality.)
     39 partial modifier_keys
     40 xkb_symbols "alt_switch" {
     41   include "level3(lalt_switch)"
     42   include "level3(ralt_switch)"
     43 };
     44 
     45 // The left Alt key (while pressed) chooses the third shift level.
     46 partial modifier_keys
     47 xkb_symbols "lalt_switch" {
     48   key <LALT> {
     49     type[Group1]="ONE_LEVEL",
     50     symbols[Group1] = [ ISO_Level3_Shift ]
     51   };
     52 };
     53 
     54 // The right Ctrl key (while pressed) chooses the third shift level.
     55 partial modifier_keys
     56 xkb_symbols "switch" {
     57   key <RCTL> {
     58     type[Group1]="ONE_LEVEL",
     59     symbols[Group1] = [ ISO_Level3_Shift ]
     60   };
     61 };
     62 
     63 // The Menu key (while pressed) chooses the third shift level.
     64 partial modifier_keys
     65 xkb_symbols "menu_switch" {
     66   key <MENU> {
     67     type[Group1]="ONE_LEVEL",
     68     symbols[Group1] = [ ISO_Level3_Shift ]
     69   };
     70 };
     71 
     72 // Either Win key (while pressed) chooses the third shift level.
     73 partial modifier_keys
     74 xkb_symbols "win_switch" {
     75   include "level3(lwin_switch)"
     76   include "level3(rwin_switch)"
     77 };
     78 
     79 // The left Win key (while pressed) chooses the third shift level.
     80 partial modifier_keys
     81 xkb_symbols "lwin_switch" {
     82   key <LWIN> {
     83     type[Group1]="ONE_LEVEL",
     84     symbols[Group1] = [ ISO_Level3_Shift ]
     85   };
     86 };
     87 
     88 // The right Win key (while pressed) chooses the third shift level.
     89 partial modifier_keys
     90 xkb_symbols "rwin_switch" {
     91   key <RWIN> {
     92     type[Group1]="ONE_LEVEL",
     93     symbols[Group1] = [ ISO_Level3_Shift ]
     94   };
     95 };
     96 
     97 // The Enter key on the kepypad (while pressed) chooses the third shift level.
     98 // (This is especially useful for Mac laptops which miss the right Alt key.)
     99 partial modifier_keys
    100 xkb_symbols "enter_switch" {
    101   key <KPEN> {
    102     type[Group1]="ONE_LEVEL",
    103     symbols[Group1] = [ ISO_Level3_Shift ]
    104   };
    105 };
    106 
    107 // The CapsLock key (while pressed) chooses the third shift level.
    108 partial modifier_keys
    109 xkb_symbols "caps_switch" {
    110   key <CAPS> {
    111     type[Group1]="ONE_LEVEL",
    112     symbols[Group1] = [ ISO_Level3_Shift ]
    113   };
    114 };
    115 
    116 // The Backslash key (while pressed) chooses the third shift level.
    117 partial modifier_keys
    118 xkb_symbols "bksl_switch" {
    119   key <BKSL> {
    120     type[Group1]="ONE_LEVEL",
    121     symbols[Group1] = [ ISO_Level3_Shift ]
    122   };
    123 };
    124 
    125 // The Less/Greater key (while pressed) chooses the third shift level.
    126 partial modifier_keys
    127 xkb_symbols "lsgt_switch" {
    128   key <LSGT> {
    129     type[Group1]="ONE_LEVEL",
    130     symbols[Group1] = [ ISO_Level3_Shift ]
    131   };
    132 };
    133 
    134 // The CapsLock key (while pressed) chooses the third shift level,
    135 // and latches when pressed together with another third-level chooser.
    136 partial modifier_keys
    137 xkb_symbols "caps_switch_latch" {
    138   key <CAPS> {
    139     type[Group1]="THREE_LEVEL",
    140     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
    141   };
    142 };
    143 
    144 // The Backslash key (while pressed) chooses the third shift level,
    145 // and latches when pressed together with another third-level chooser.
    146 partial modifier_keys
    147 xkb_symbols "bksl_switch_latch" {
    148   key <BKSL> {
    149     type[Group1]="THREE_LEVEL",
    150     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
    151   };
    152 };
    153 
    154 // The Less/Greater key (while pressed) chooses the third shift level,
    155 // and latches when pressed together with another third-level chooser.
    156 partial modifier_keys
    157 xkb_symbols "lsgt_switch_latch" {
    158   key <LSGT> {
    159     type[Group1]="THREE_LEVEL",
    160     symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
    161   };
    162 };
    163 
    164 // Number key 4 chooses third shift level when pressed in isolation.
    165 partial modifier_keys
    166 xkb_symbols "4_switch_isolated" {
    167   override key <AE04> {
    168     symbols[Group1] = [ ISO_Level3_Shift ]
    169   };
    170 };
    171 
    172 // Number key 9 chooses third shift level when pressed in isolation.
    173 partial modifier_keys
    174 xkb_symbols "9_switch_isolated" {
    175   override key <AE09> {
    176     symbols[Group1] = [ ISO_Level3_Shift ]
    177   };
    178 };
    179