1797b363dSmrg// These partial variants assign ISO_Level3_Shift to various XKB keycodes 2797b363dSmrg// so that the third shift level can be reached. 3154daed1Smrg 4797b363dSmrg// The default behaviour: 5797b363dSmrg// the right Alt key (AltGr) chooses the third symbol engraved on a key. 68157b447Smrgdefault partial modifier_keys 7797b363dSmrgxkb_symbols "ralt_switch" { 8797b363dSmrg key <RALT> { 9797b363dSmrg type[Group1]="ONE_LEVEL", 10797b363dSmrg symbols[Group1] = [ ISO_Level3_Shift ] 11797b363dSmrg }; 120412cdedSmrg}; 130412cdedSmrg 14797b363dSmrg// The right Alt key never chooses the third level. 15797b363dSmrg// This option attempts to undo the effect of a layout's inclusion of 16797b363dSmrg// 'ralt_switch'. You may want to also select another level3 option 17797b363dSmrg// to map the level3 shift to some other key. 18154daed1Smrgpartial modifier_keys 19154daed1Smrgxkb_symbols "ralt_alt" { 20797b363dSmrg key <RALT> { 21154daed1Smrg type[Group1]="TWO_LEVEL", 2246185892Smrg symbols[Group1] = [ Alt_R, Meta_R ] 23797b363dSmrg }; 24797b363dSmrg modifier_map Mod1 { <RALT> }; 25154daed1Smrg}; 26154daed1Smrg 27797b363dSmrg// The right Alt key (while pressed) chooses the third shift level, 28797b363dSmrg// and Compose is mapped to its second level. 29154daed1Smrgpartial modifier_keys 30154daed1Smrgxkb_symbols "ralt_switch_multikey" { 31154daed1Smrg key <RALT> { 32154daed1Smrg type[Group1]="TWO_LEVEL", 33154daed1Smrg symbols[Group1] = [ ISO_Level3_Shift, Multi_key ] 34797b363dSmrg }; 35154daed1Smrg}; 36154daed1Smrg 37797b363dSmrg// Either Alt key (while pressed) chooses the third shift level. 38797b363dSmrg// (To be used mostly to imitate Mac OS functionality.) 39154daed1Smrgpartial modifier_keys 40154daed1Smrgxkb_symbols "alt_switch" { 41154daed1Smrg include "level3(lalt_switch)" 42154daed1Smrg include "level3(ralt_switch)" 43154daed1Smrg}; 44154daed1Smrg 45797b363dSmrg// The left Alt key (while pressed) chooses the third shift level. 46154daed1Smrgpartial modifier_keys 47154daed1Smrgxkb_symbols "lalt_switch" { 48154daed1Smrg key <LALT> { 49154daed1Smrg type[Group1]="ONE_LEVEL", 50154daed1Smrg symbols[Group1] = [ ISO_Level3_Shift ] 51797b363dSmrg }; 52154daed1Smrg}; 53154daed1Smrg 54797b363dSmrg// The right Ctrl key (while pressed) chooses the third shift level. 55154daed1Smrgpartial modifier_keys 56154daed1Smrgxkb_symbols "switch" { 57154daed1Smrg key <RCTL> { 58154daed1Smrg type[Group1]="ONE_LEVEL", 59154daed1Smrg symbols[Group1] = [ ISO_Level3_Shift ] 60797b363dSmrg }; 61154daed1Smrg}; 62154daed1Smrg 63797b363dSmrg// The Menu key (while pressed) chooses the third shift level. 64154daed1Smrgpartial modifier_keys 65154daed1Smrgxkb_symbols "menu_switch" { 66154daed1Smrg key <MENU> { 67154daed1Smrg type[Group1]="ONE_LEVEL", 68154daed1Smrg symbols[Group1] = [ ISO_Level3_Shift ] 69797b363dSmrg }; 70154daed1Smrg}; 71154daed1Smrg 72797b363dSmrg// Either Win key (while pressed) chooses the third shift level. 73154daed1Smrgpartial modifier_keys 74154daed1Smrgxkb_symbols "win_switch" { 75154daed1Smrg include "level3(lwin_switch)" 76154daed1Smrg include "level3(rwin_switch)" 77154daed1Smrg}; 78154daed1Smrg 79797b363dSmrg// The left Win key (while pressed) chooses the third shift level. 80154daed1Smrgpartial modifier_keys 81154daed1Smrgxkb_symbols "lwin_switch" { 82154daed1Smrg key <LWIN> { 83154daed1Smrg type[Group1]="ONE_LEVEL", 84154daed1Smrg symbols[Group1] = [ ISO_Level3_Shift ] 85797b363dSmrg }; 86154daed1Smrg}; 87154daed1Smrg 88797b363dSmrg// The right Win key (while pressed) chooses the third shift level. 89154daed1Smrgpartial modifier_keys 90154daed1Smrgxkb_symbols "rwin_switch" { 91154daed1Smrg key <RWIN> { 92154daed1Smrg type[Group1]="ONE_LEVEL", 93154daed1Smrg symbols[Group1] = [ ISO_Level3_Shift ] 94797b363dSmrg }; 95154daed1Smrg}; 96154daed1Smrg 97797b363dSmrg// The Enter key on the kepypad (while pressed) chooses the third shift level. 98797b363dSmrg// (This is especially useful for Mac laptops which miss the right Alt key.) 99c067fea9Sghenpartial modifier_keys 100154daed1Smrgxkb_symbols "enter_switch" { 101154daed1Smrg key <KPEN> { 102154daed1Smrg type[Group1]="ONE_LEVEL", 103154daed1Smrg symbols[Group1] = [ ISO_Level3_Shift ] 104797b363dSmrg }; 105154daed1Smrg}; 106c067fea9Sghen 107797b363dSmrg// The CapsLock key (while pressed) chooses the third shift level. 108c067fea9Sghenpartial modifier_keys 109c067fea9Sghenxkb_symbols "caps_switch" { 110c067fea9Sghen key <CAPS> { 111c067fea9Sghen type[Group1]="ONE_LEVEL", 112c067fea9Sghen symbols[Group1] = [ ISO_Level3_Shift ] 113c067fea9Sghen }; 114c067fea9Sghen}; 115c067fea9Sghen 116797b363dSmrg// The Backslash key (while pressed) chooses the third shift level. 117c067fea9Sghenpartial modifier_keys 118c067fea9Sghenxkb_symbols "bksl_switch" { 119c067fea9Sghen key <BKSL> { 120c067fea9Sghen type[Group1]="ONE_LEVEL", 121c067fea9Sghen symbols[Group1] = [ ISO_Level3_Shift ] 122c067fea9Sghen }; 123c067fea9Sghen}; 124c067fea9Sghen 125797b363dSmrg// The Less/Greater key (while pressed) chooses the third shift level. 126c067fea9Sghenpartial modifier_keys 127c067fea9Sghenxkb_symbols "lsgt_switch" { 128c067fea9Sghen key <LSGT> { 129c067fea9Sghen type[Group1]="ONE_LEVEL", 130c067fea9Sghen symbols[Group1] = [ ISO_Level3_Shift ] 131c067fea9Sghen }; 132c067fea9Sghen}; 133c067fea9Sghen 134797b363dSmrg// The CapsLock key (while pressed) chooses the third shift level, 135797b363dSmrg// and latches when pressed together with another third-level chooser. 136c067fea9Sghenpartial modifier_keys 137c067fea9Sghenxkb_symbols "caps_switch_latch" { 138c067fea9Sghen key <CAPS> { 139c067fea9Sghen type[Group1]="THREE_LEVEL", 140c067fea9Sghen symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] 141c067fea9Sghen }; 142c067fea9Sghen}; 143c067fea9Sghen 144797b363dSmrg// The Backslash key (while pressed) chooses the third shift level, 145797b363dSmrg// and latches when pressed together with another third-level chooser. 146c067fea9Sghenpartial modifier_keys 147c067fea9Sghenxkb_symbols "bksl_switch_latch" { 148c067fea9Sghen key <BKSL> { 149c067fea9Sghen type[Group1]="THREE_LEVEL", 150c067fea9Sghen symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] 151c067fea9Sghen }; 152c067fea9Sghen}; 153c067fea9Sghen 154797b363dSmrg// The Less/Greater key (while pressed) chooses the third shift level, 155797b363dSmrg// and latches when pressed together with another third-level chooser. 156c067fea9Sghenpartial modifier_keys 157c067fea9Sghenxkb_symbols "lsgt_switch_latch" { 158c067fea9Sghen key <LSGT> { 159c067fea9Sghen type[Group1]="THREE_LEVEL", 160c067fea9Sghen symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] 161c067fea9Sghen }; 162c067fea9Sghen}; 1631c606da7Smrg 1641c606da7Smrg// Number key 4 chooses third shift level when pressed in isolation. 1651c606da7Smrgpartial modifier_keys 1661c606da7Smrgxkb_symbols "4_switch_isolated" { 1671c606da7Smrg override key <AE04> { 1681c606da7Smrg symbols[Group1] = [ ISO_Level3_Shift ] 1691c606da7Smrg }; 1701c606da7Smrg}; 1711c606da7Smrg 1721c606da7Smrg// Number key 9 chooses third shift level when pressed in isolation. 1731c606da7Smrgpartial modifier_keys 1741c606da7Smrgxkb_symbols "9_switch_isolated" { 1751c606da7Smrg override key <AE09> { 1761c606da7Smrg symbols[Group1] = [ ISO_Level3_Shift ] 1771c606da7Smrg }; 1781c606da7Smrg}; 179