level5 revision 46185892
1// These partial variants assign ISO_Level5_Shift to various XKB keycodes 2// so that the fifth shift level can be reached. 3 4// The right Ctrl key (while pressed) chooses the fifth shift level. 5partial modifier_keys 6xkb_symbols "rctrl_switch" { 7 key <RCTL> { 8 type[Group1]="ONE_LEVEL", 9 symbols[Group1] = [ ISO_Level5_Shift ] 10 }; 11}; 12 13// The Less/Greater key (while pressed) chooses the fifth shift level. 14partial modifier_keys 15xkb_symbols "lsgt_switch" { 16 key <LSGT> { 17 type[Group1]="ONE_LEVEL", 18 symbols[Group1] = [ ISO_Level5_Shift ] 19 }; 20}; 21 22// The right Alt key (while pressed) chooses the fifth shift level. 23partial modifier_keys 24xkb_symbols "ralt_switch" { 25 key <RALT> { 26 type[Group1]="ONE_LEVEL", 27 symbols[Group1] = [ ISO_Level5_Shift ] 28 }; 29}; 30 31// The CapsLock key (while pressed) chooses the fifth shift level. 32partial modifier_keys 33xkb_symbols "caps_switch" { 34 key <CAPS> { 35 type[Group1]="ONE_LEVEL", 36 symbols[Group1] = [ ISO_Level5_Shift ] 37 }; 38}; 39 40// The Menu key (while pressed) chooses the fifth shift level. 41partial modifier_keys 42xkb_symbols "menu_switch" { 43 key <MENU> { 44 type[Group1]="ONE_LEVEL", 45 symbols[Group1] = [ ISO_Level5_Shift ] 46 }; 47}; 48 49// This adds the definitions needed to create a level5-locking behaviour, 50// using the virtual modifier NumLock (mapped to Mod2) as lock indicator. 51// See also types/level5 (EIGHT_LEVEL_LEVEL_FIVE_LOCK) and compat/level5 (level5_lock). 52partial modifier_keys 53xkb_symbols "lock" { 54 replace key <HYPR> { 55 vmods = NumLock, 56 type[Group1] = "ONE_LEVEL", 57 symbols[Group1] = [ NoSymbol ], 58 actions[Group1] = [ SetMods(modifiers=NumLock) ] 59 }; 60 modifier_map Mod2 { <HYPR> }; 61}; 62 63// The following modifier keys are used to switch to the third shift level 64// and to set a corresponding lock, implemented as NumLock. 65 66partial modifier_keys 67xkb_symbols "lsgt_switch_lock" { 68 include "level5(lock)" 69 key <LSGT> { 70 type[Group1] = "EIGHT_LEVEL", 71 symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, 72 ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 73 }; 74}; 75 76partial modifier_keys 77xkb_symbols "lwin_switch_lock" { 78 include "level5(lock)" 79 key <LWIN> { 80 type[Group1] = "EIGHT_LEVEL", 81 symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, 82 ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 83 }; 84}; 85 86partial modifier_keys 87xkb_symbols "ralt_switch_lock" { 88 include "level5(lock)" 89 key <RALT> { 90 type[Group1] = "EIGHT_LEVEL", 91 symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, 92 ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 93 }; 94}; 95 96partial modifier_keys 97xkb_symbols "rwin_switch_lock" { 98 include "level5(lock)" 99 key <RWIN> { 100 type[Group1] = "EIGHT_LEVEL", 101 symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, 102 ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 103 }; 104}; 105 106partial modifier_keys 107xkb_symbols "lsgt_switch_lock_cancel" { 108 include "level5(lock)" 109 key <LSGT> { 110 type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", 111 symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, 112 ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 113 }; 114}; 115 116partial modifier_keys 117xkb_symbols "lwin_switch_lock_cancel" { 118 include "level5(lock)" 119 key <LWIN> { 120 type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", 121 symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, 122 ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 123 }; 124}; 125 126partial modifier_keys 127xkb_symbols "ralt_switch_lock_cancel" { 128 include "level5(lock)" 129 key <RALT> { 130 type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", 131 symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, 132 ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 133 }; 134}; 135 136partial modifier_keys 137xkb_symbols "rwin_switch_lock_cancel" { 138 include "level5(lock)" 139 key <RWIN> { 140 type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", 141 symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, 142 ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 143 }; 144}; 145