level5 revision bfd7cbc1
1// these variants assign various XKB keycodes to ISO_Level5_Shift so that
2// the third shift level can be reached
3//
4
5// using the level(switch) map, the right Control key temporarily
6// chooses the fifth shift level (until it is released).
7partial modifier_keys
8xkb_symbols "rctrl_switch" {
9  key <RCTL> {
10    type[Group1]="ONE_LEVEL",
11    symbols[Group1] = [ ISO_Level5_Shift ]
12    };
13  modifier_map Mod3   { ISO_Level5_Shift };
14};
15
16partial modifier_keys
17xkb_symbols "lsgt_switch" {
18  key <LSGT> {
19    type[Group1]="ONE_LEVEL",
20    symbols[Group1] = [ ISO_Level5_Shift ]
21    };
22  modifier_map Mod3   { ISO_Level5_Shift };
23};
24
25partial modifier_keys
26xkb_symbols "ralt_switch" {
27  key <RALT> {
28    type[Group1]="ONE_LEVEL",
29    symbols[Group1] = [ ISO_Level5_Shift ]
30    };
31  modifier_map Mod3   { ISO_Level5_Shift };
32};
33
34
35// The following modifier keys are used to switch to the third shift and to set a
36// corresponding lock, implemented as NumLock.
37
38partial modifier_keys
39xkb_symbols "lock" {
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";
45
46  replace key <MDSW> {
47    vmods = LevelFive,
48    symbols[Group1] = [ ISO_Level5_Shift ],
49    actions[Group1] = [ SetMods(modifiers=LevelFive) ]
50  };
51  modifier_map Mod3 { <MDSW> };
52
53  replace key <HYPR> {
54    vmods = NumLock,
55    symbols[Group1] = [ NoSymbol ],
56    actions[Group1] = [ SetMods(modifiers=NumLock) ]
57  };
58  modifier_map Mod2 { <HYPR> };
59};
60
61partial modifier_keys
62xkb_symbols "lsgt_switch_lock" {
63
64  include "level5(lock)"
65
66  key <LSGT> {
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 ]
69  };
70};
71
72partial modifier_keys
73xkb_symbols "lwin_switch_lock" {
74
75  include "level5(lock)"
76
77  key <LWIN> {
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 ]
80  };
81};
82
83partial modifier_keys
84xkb_symbols "ralt_switch_lock" {
85
86  include "level5(lock)"
87
88  key <RALT> {
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 ]
91  };
92};
93
94partial modifier_keys
95xkb_symbols "rwin_switch_lock" {
96
97  include "level5(lock)"
98
99  key <RWIN> {
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 ]
102  };
103};
104
105partial modifier_keys
106xkb_symbols "lsgt_switch_lock_cancel" {
107
108  include "level5(lock)"
109
110  key <LSGT> {
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 ]
113  };
114};
115
116partial modifier_keys
117xkb_symbols "lwin_switch_lock_cancel" {
118
119  include "level5(lock)"
120
121  key <LWIN> {
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 ]
124  };
125};
126
127partial modifier_keys
128xkb_symbols "ralt_switch_lock_cancel" {
129
130  include "level5(lock)"
131
132  key <RALT> {
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 ]
135  };
136};
137
138partial modifier_keys
139xkb_symbols "rwin_switch_lock_cancel" {
140
141  include "level5(lock)"
142
143  key <RWIN> {
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 ]
146  };
147};
148