level3 revision c067fea9
1// $XKeyboardConfig$ 2 3// these variants assign various XKB keycodes to ISO_Level3_Shift so that 4// the third shift level can be reached 5// 6// $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $ 7// 8 9// the default behavior is for the right Alt key (AltGr) to generate the 10// third engraved symbol 11default partial modifier_keys 12xkb_symbols "ralt_switch" { 13 key <RALT> { 14 type[Group1]="ONE_LEVEL", 15 symbols[Group1] = [ ISO_Level3_Shift ] 16 }; 17 modifier_map Mod5 { ISO_Level3_Shift }; 18}; 19 20// Right Alt key never chooses 3rd level. 21// This option attempts to undo the effect of a layout's 22// including ralt_switch. You may also want to select another 23// level3 option that maps the level3 shift to some other key. 24partial modifier_keys 25xkb_symbols "ralt_alt" { 26 key <RALT> { 27 type[Group1]="TWO_LEVEL", 28 type[Group2]="TWO_LEVEL", 29 type[Group3]="TWO_LEVEL", 30 type[Group4]="TWO_LEVEL", 31 symbols[Group1] = [ Alt_R, Meta_R ], 32 symbols[Group2] = [ Alt_R, Meta_R ], 33 symbols[Group3] = [ Alt_R, Meta_R ], 34 symbols[Group4] = [ Alt_R, Meta_R ] 35 }; 36 modifier_map Mod1 { <RALT> }; 37}; 38 39partial modifier_keys 40xkb_symbols "ralt_switch_multikey" { 41 key <RALT> { 42 type[Group1]="TWO_LEVEL", 43 symbols[Group1] = [ ISO_Level3_Shift, Multi_key ] 44 }; 45}; 46 47// special case or right Alt switch - for use with grp:alts_toggle 48// 49partial hidden modifier_keys 50xkb_symbols "ralt_switch_for_alts_toggle" { 51 virtual_modifiers LAlt, AlGr; 52 key <LALT> { 53 type[Group1]="PC_RALT_LEVEL2", 54 symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ], 55 virtualMods= LAlt 56 }; 57 key <RALT> { 58 type[Group1]="PC_ALT_LEVEL2", 59 symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ], 60 virtualMods= AltGr 61 }; 62 modifier_map Mod5 { ISO_Level3_Shift }; 63}; 64 65// using the level(alt_switch) map, either Alt key temporarily chooses 66// the third shift level. (Mostly be used to imitate Mac OS functionality.) 67partial modifier_keys 68xkb_symbols "alt_switch" { 69 include "level3(lalt_switch)" 70 include "level3(ralt_switch)" 71}; 72 73partial modifier_keys 74xkb_symbols "lalt_switch" { 75 key <LALT> { 76 type[Group1]="ONE_LEVEL", 77 symbols[Group1] = [ ISO_Level3_Shift ] 78 }; 79 modifier_map Mod5 { <LALT> }; 80}; 81 82// using the level(switch) map, the right Control key temporarily 83// chooses the third shift level (until it is released). 84partial modifier_keys 85xkb_symbols "switch" { 86 key <RCTL> { 87 type[Group1]="ONE_LEVEL", 88 symbols[Group1] = [ ISO_Level3_Shift ] 89 }; 90 modifier_map Mod5 { ISO_Level3_Shift }; 91}; 92 93// using the level(menu_switch) map, the Menu key temporarily 94// chooses the third shift level (until it is released). 95partial modifier_keys 96xkb_symbols "menu_switch" { 97 key <MENU> { 98 type[Group1]="ONE_LEVEL", 99 symbols[Group1] = [ ISO_Level3_Shift ] 100 }; 101 modifier_map Mod5 { ISO_Level3_Shift }; 102}; 103 104// using the level3(win_switch) map, the either Windows' logo key 105// temporarily chooses the third shift level. 106partial modifier_keys 107xkb_symbols "win_switch" { 108 include "level3(lwin_switch)" 109 include "level3(rwin_switch)" 110}; 111 112// using the level3(lwin_switch) map, the left Windows' logo key 113// temporarily chooses the third shift level. 114partial modifier_keys 115xkb_symbols "lwin_switch" { 116 key <LWIN> { 117 type[Group1]="ONE_LEVEL", 118 symbols[Group1] = [ ISO_Level3_Shift ] 119 }; 120 modifier_map Mod5 { ISO_Level3_Shift }; 121}; 122 123// using the level(rwin_switch) map, the right Windows' logo key 124// temporarily chooses the third shift level. If you use this map, 125// you should define your keyboard as pc101 or pc102 instead of pc104 126// or pc105. 127partial modifier_keys 128xkb_symbols "rwin_switch" { 129 key <RWIN> { 130 type[Group1]="ONE_LEVEL", 131 symbols[Group1] = [ ISO_Level3_Shift ] 132 }; 133 modifier_map Mod5 { ISO_Level3_Shift }; 134}; 135 136// using the level3(enter_switch) map, the Enter key on the keypad 137// temporarily chooses the third shift level. This is especially 138// useful for Mac laptops which miss the right Alt key. 139partial modifier_keys 140xkb_symbols "enter_switch" { 141 key <KPEN> { 142 type[Group1]="ONE_LEVEL", 143 symbols[Group1] = [ ISO_Level3_Shift ] 144 }; 145 modifier_map Mod5 { ISO_Level3_Shift }; 146}; 147 148partial modifier_keys 149xkb_symbols "caps_switch" { 150 key <CAPS> { 151 type[Group1]="ONE_LEVEL", 152 symbols[Group1] = [ ISO_Level3_Shift ] 153 }; 154 modifier_map Mod5 { ISO_Level3_Shift }; 155}; 156 157partial modifier_keys 158xkb_symbols "bksl_switch" { 159 key <BKSL> { 160 type[Group1]="ONE_LEVEL", 161 symbols[Group1] = [ ISO_Level3_Shift ] 162 }; 163 modifier_map Mod5 { ISO_Level3_Shift }; 164}; 165 166partial modifier_keys 167xkb_symbols "lsgt_switch" { 168 key <LSGT> { 169 type[Group1]="ONE_LEVEL", 170 symbols[Group1] = [ ISO_Level3_Shift ] 171 }; 172 modifier_map Mod5 { ISO_Level3_Shift }; 173}; 174 175partial modifier_keys 176xkb_symbols "caps_switch_latch" { 177 key <CAPS> { 178 type[Group1]="THREE_LEVEL", 179 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] 180 }; 181 modifier_map Mod5 { ISO_Level3_Shift }; 182}; 183 184partial modifier_keys 185xkb_symbols "bksl_switch_latch" { 186 key <BKSL> { 187 type[Group1]="THREE_LEVEL", 188 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] 189 }; 190 modifier_map Mod5 { ISO_Level3_Shift }; 191}; 192 193partial modifier_keys 194xkb_symbols "lsgt_switch_latch" { 195 key <LSGT> { 196 type[Group1]="THREE_LEVEL", 197 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] 198 }; 199 modifier_map Mod5 { ISO_Level3_Shift }; 200}; 201