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