level5 revision c067fea9
15a35480eSmrg// $XKeyboardConfig$ 2154daed1Smrg 3154daed1Smrg// these variants assign various XKB keycodes to ISO_Level5_Shift so that 4154daed1Smrg// the third shift level can be reached 5154daed1Smrg// 6154daed1Smrg// $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $ 7154daed1Smrg// 8154daed1Smrg 9154daed1Smrg// using the level(switch) map, the right Control key temporarily 10154daed1Smrg// chooses the fifth shift level (until it is released). 11154daed1Smrgpartial modifier_keys 12154daed1Smrgxkb_symbols "rctrl_switch" { 13154daed1Smrg key <RCTL> { 14154daed1Smrg type[Group1]="ONE_LEVEL", 155a35480eSmrg symbols[Group1] = [ ISO_Level5_Shift ] 16154daed1Smrg }; 175a35480eSmrg modifier_map Mod3 { ISO_Level5_Shift }; 18154daed1Smrg}; 19c067fea9Sghen 20c067fea9Sghenpartial modifier_keys 21c067fea9Sghenxkb_symbols "lsgt_switch" { 22c067fea9Sghen key <LSGT> { 23c067fea9Sghen type[Group1]="ONE_LEVEL", 24c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift ] 25c067fea9Sghen }; 26c067fea9Sghen modifier_map Mod3 { ISO_Level5_Shift }; 27c067fea9Sghen}; 28c067fea9Sghen 29c067fea9Sghenpartial modifier_keys 30c067fea9Sghenxkb_symbols "ralt_switch" { 31c067fea9Sghen key <RALT> { 32c067fea9Sghen type[Group1]="ONE_LEVEL", 33c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift ] 34c067fea9Sghen }; 35c067fea9Sghen modifier_map Mod3 { ISO_Level5_Shift }; 36c067fea9Sghen}; 37c067fea9Sghen 38c067fea9Sghen 39c067fea9Sghen// The following modifier keys are used to switch to the third shift and to set a 40c067fea9Sghen// corresponding lock, implemented as NumLock. 41c067fea9Sghen 42c067fea9Sghenpartial modifier_keys 43c067fea9Sghenxkb_symbols "lock" { 44c067fea9Sghen // This adds the definitions needed to create a level5-lock behaviour, using 45c067fea9Sghen // the real modifier NumLock as a lock indicator. 46c067fea9Sghen // See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK 47c067fea9Sghen // See also: compat/level5(level5_lock) 48c067fea9Sghen key.type[Group1] = "ONE_LEVEL"; 49c067fea9Sghen 50c067fea9Sghen replace key <MDSW> { 51c067fea9Sghen vmods = LevelFive, 52c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift ], 53c067fea9Sghen actions[Group1] = [ SetMods(modifiers=LevelFive) ] 54c067fea9Sghen }; 55c067fea9Sghen modifier_map Mod3 { <MDSW> }; 56c067fea9Sghen 57c067fea9Sghen replace key <HYPR> { 58c067fea9Sghen vmods = NumLock, 59c067fea9Sghen symbols[Group1] = [ NoSymbol ], 60c067fea9Sghen actions[Group1] = [ SetMods(modifiers=NumLock) ] 61c067fea9Sghen }; 62c067fea9Sghen modifier_map Mod2 { <HYPR> }; 63c067fea9Sghen}; 64c067fea9Sghen 65c067fea9Sghenpartial modifier_keys 66c067fea9Sghenxkb_symbols "lsgt_switch_lock" { 67c067fea9Sghen 68c067fea9Sghen include "level5(lock)" 69c067fea9Sghen 70c067fea9Sghen key <LSGT> { 71c067fea9Sghen type[Group1] = "EIGHT_LEVEL", 72c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 73c067fea9Sghen }; 74c067fea9Sghen}; 75c067fea9Sghen 76c067fea9Sghenpartial modifier_keys 77c067fea9Sghenxkb_symbols "lwin_switch_lock" { 78c067fea9Sghen 79c067fea9Sghen include "level5(lock)" 80c067fea9Sghen 81c067fea9Sghen key <LWIN> { 82c067fea9Sghen type[Group1] = "EIGHT_LEVEL", 83c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 84c067fea9Sghen }; 85c067fea9Sghen}; 86c067fea9Sghen 87c067fea9Sghenpartial modifier_keys 88c067fea9Sghenxkb_symbols "ralt_switch_lock" { 89c067fea9Sghen 90c067fea9Sghen include "level5(lock)" 91c067fea9Sghen 92c067fea9Sghen key <RALT> { 93c067fea9Sghen type[Group1] = "EIGHT_LEVEL", 94c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 95c067fea9Sghen }; 96c067fea9Sghen}; 97c067fea9Sghen 98c067fea9Sghenpartial modifier_keys 99c067fea9Sghenxkb_symbols "rwin_switch_lock" { 100c067fea9Sghen 101c067fea9Sghen include "level5(lock)" 102c067fea9Sghen 103c067fea9Sghen key <RWIN> { 104c067fea9Sghen type[Group1] = "EIGHT_LEVEL", 105c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 106c067fea9Sghen }; 107c067fea9Sghen}; 108c067fea9Sghen 109c067fea9Sghenpartial modifier_keys 110c067fea9Sghenxkb_symbols "lsgt_switch_lock_cancel" { 111c067fea9Sghen 112c067fea9Sghen include "level5(lock)" 113c067fea9Sghen 114c067fea9Sghen key <LSGT> { 115c067fea9Sghen type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", 116c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 117c067fea9Sghen }; 118c067fea9Sghen}; 119c067fea9Sghen 120c067fea9Sghenpartial modifier_keys 121c067fea9Sghenxkb_symbols "lwin_switch_lock_cancel" { 122c067fea9Sghen 123c067fea9Sghen include "level5(lock)" 124c067fea9Sghen 125c067fea9Sghen key <LWIN> { 126c067fea9Sghen type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", 127c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 128c067fea9Sghen }; 129c067fea9Sghen}; 130c067fea9Sghen 131c067fea9Sghenpartial modifier_keys 132c067fea9Sghenxkb_symbols "ralt_switch_lock_cancel" { 133c067fea9Sghen 134c067fea9Sghen include "level5(lock)" 135c067fea9Sghen 136c067fea9Sghen key <RALT> { 137c067fea9Sghen type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", 138c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 139c067fea9Sghen }; 140c067fea9Sghen}; 141c067fea9Sghen 142c067fea9Sghenpartial modifier_keys 143c067fea9Sghenxkb_symbols "rwin_switch_lock_cancel" { 144c067fea9Sghen 145c067fea9Sghen include "level5(lock)" 146c067fea9Sghen 147c067fea9Sghen key <RWIN> { 148c067fea9Sghen type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", 149c067fea9Sghen symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] 150c067fea9Sghen }; 151c067fea9Sghen}; 152