1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
// $XKeyboardConfig$
// these variants assign various XKB keycodes to ISO_Level5_Shift so that
// the third shift level can be reached
//
// $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $
//
// using the level(switch) map, the right Control key temporarily
// chooses the fifth shift level (until it is released).
partial modifier_keys
xkb_symbols "rctrl_switch" {
key <RCTL> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level5_Shift ]
};
modifier_map Mod3 { ISO_Level5_Shift };
};
// The following modifier keys are used to switch to the third shift and to set a
// corresponding lock, implemented as NumLock.
partial modifier_keys
xkb_symbols "lock" {
// This adds the definitions needed to create a level5-lock behaviour, using
// the real modifier NumLock as a lock indicator.
// See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
// See also: compat/level5(level5_lock)
key.type[Group1] = "ONE_LEVEL";
replace key <MDSW> {
vmods = LevelFive,
symbols[Group1] = [ ISO_Level5_Shift ],
actions[Group1] = [ SetMods(modifiers=LevelFive) ]
};
modifier_map Mod3 { <MDSW> };
replace key <HYPR> {
vmods = NumLock,
symbols[Group1] = [ NoSymbol ],
actions[Group1] = [ SetMods(modifiers=NumLock) ]
};
modifier_map Mod2 { <HYPR> };
};
partial modifier_keys
xkb_symbols "lsgt_switch_lock" {
include "level5(lock)"
key <LSGT> {
type[Group1] = "EIGHT_LEVEL",
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 ]
};
};
partial modifier_keys
xkb_symbols "ralt_switch_lock" {
include "level5(lock)"
key <RALT> {
type[Group1] = "EIGHT_LEVEL",
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 ]
};
};
|