level5 revision 1.1.1.10 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.
5 partial modifier_keys
6 xkb_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.
14 partial modifier_keys
15 xkb_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.
23 partial modifier_keys
24 xkb_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.
32 partial modifier_keys
33 xkb_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.
41 partial modifier_keys
42 xkb_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).
52 partial modifier_keys
53 xkb_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
66 partial modifier_keys
67 xkb_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
76 partial modifier_keys
77 xkb_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
86 partial modifier_keys
87 xkb_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
96 partial modifier_keys
97 xkb_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
106 partial modifier_keys
107 xkb_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
116 partial modifier_keys
117 xkb_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
126 partial modifier_keys
127 xkb_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
136 partial modifier_keys
137 xkb_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