1 // these variants assign various XKB keycodes to ISO_Level5_Shift so that
2 // the third shift level can be reached
5 // using the level(switch) map, the right Control key temporarily
6 // chooses the fifth shift level (until it is released).
8 xkb_symbols "rctrl_switch" {
10 type[Group1]="ONE_LEVEL",
11 symbols[Group1] = [ ISO_Level5_Shift ]
13 modifier_map Mod3 { ISO_Level5_Shift };
17 xkb_symbols "lsgt_switch" {
19 type[Group1]="ONE_LEVEL",
20 symbols[Group1] = [ ISO_Level5_Shift ]
22 modifier_map Mod3 { ISO_Level5_Shift };
26 xkb_symbols "ralt_switch" {
28 type[Group1]="ONE_LEVEL",
29 symbols[Group1] = [ ISO_Level5_Shift ]
31 modifier_map Mod3 { ISO_Level5_Shift };
35 // The following modifier keys are used to switch to the third shift and to set a
36 // corresponding lock, implemented as NumLock.
40 // This adds the definitions needed to create a level5-lock behaviour, using
41 // the real modifier NumLock as a lock indicator.
42 // See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
43 // See also: compat/level5(level5_lock)
44 key.type[Group1] = "ONE_LEVEL";
48 symbols[Group1] = [ ISO_Level5_Shift ],
49 actions[Group1] = [ SetMods(modifiers=LevelFive) ]
51 modifier_map Mod3 { <MDSW> };
55 symbols[Group1] = [ NoSymbol ],
56 actions[Group1] = [ SetMods(modifiers=NumLock) ]
58 modifier_map Mod2 { <HYPR> };
62 xkb_symbols "lsgt_switch_lock" {
64 include "level5(lock)"
67 type[Group1] = "EIGHT_LEVEL",
68 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 ]
73 xkb_symbols "lwin_switch_lock" {
75 include "level5(lock)"
78 type[Group1] = "EIGHT_LEVEL",
79 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 ]
84 xkb_symbols "ralt_switch_lock" {
86 include "level5(lock)"
89 type[Group1] = "EIGHT_LEVEL",
90 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 ]
95 xkb_symbols "rwin_switch_lock" {
97 include "level5(lock)"
100 type[Group1] = "EIGHT_LEVEL",
101 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 ]
105 partial modifier_keys
106 xkb_symbols "lsgt_switch_lock_cancel" {
108 include "level5(lock)"
111 type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
112 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 ]
116 partial modifier_keys
117 xkb_symbols "lwin_switch_lock_cancel" {
119 include "level5(lock)"
122 type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
123 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 ]
127 partial modifier_keys
128 xkb_symbols "ralt_switch_lock_cancel" {
130 include "level5(lock)"
133 type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
134 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 ]
138 partial modifier_keys
139 xkb_symbols "rwin_switch_lock_cancel" {
141 include "level5(lock)"
144 type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
145 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 ]