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