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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
// $XKeyboardConfig$
// these variants assign various XKB keycodes to ISO_Level3_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 $
//
// the default behavior is for the right Alt key (AltGr) to generate the
// third engraved symbol
default partial modifier_keys
xkb_symbols "ralt_switch" {
key <RALT> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
modifier_map Mod5 { <RALT> };
};
partial modifier_keys
xkb_symbols "ralt_switch_multikey" {
key <RALT> {
type[Group1]="TWO_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
};
};
// special case or right Alt switch - for use with grp:alts_toggle
//
partial hidden modifier_keys
xkb_symbols "ralt_switch_for_alts_toggle" {
key <LALT> {
type[Group1]="PC_SYSRQ",
symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ]
};
key <RALT> {
type[Group1]="PC_ALT_LEVEL2",
symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
virtualMods= AltGr
};
modifier_map Mod5 { ISO_Level3_Shift };
};
// using the level(alt_switch) map, either Alt key temporarily chooses
// the third shift level. (Mostly be used to imitate Mac OS functionality.)
partial modifier_keys
xkb_symbols "alt_switch" {
include "level3(lalt_switch)"
include "level3(ralt_switch)"
};
partial modifier_keys
xkb_symbols "lalt_switch" {
key <LALT> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
modifier_map Mod5 { <LALT> };
};
// using the level(switch) map, the right Control key temporarily
// chooses the third shift level (until it is released).
partial modifier_keys
xkb_symbols "switch" {
key <RCTL> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
modifier_map Mod5 { <RCTL> };
};
// using the level(menu_switch) map, the Menu key temporarily
// chooses the third shift level (until it is released).
partial modifier_keys
xkb_symbols "menu_switch" {
key <MENU> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
modifier_map Mod5 { <MENU> };
};
// using the level3(win_switch) map, the either Windows' logo key
// temporarily chooses the third shift level.
partial modifier_keys
xkb_symbols "win_switch" {
include "level3(lwin_switch)"
include "level3(rwin_switch)"
};
// using the level3(lwin_switch) map, the left Windows' logo key
// temporarily chooses the third shift level.
partial modifier_keys
xkb_symbols "lwin_switch" {
key <LWIN> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
modifier_map Mod5 { <LWIN> };
};
// using the level(rwin_switch) map, the right Windows' logo key
// temporarily chooses the third shift level. If you use this map,
// you should define your keyboard as pc101 or pc102 instead of pc104
// or pc105.
partial modifier_keys
xkb_symbols "rwin_switch" {
key <RWIN> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
modifier_map Mod5 { <RWIN> };
};
// using the level3(enter_switch) map, the Enter key on the keypad
// temporarily chooses the third shift level. This is especially
// useful for Mac laptops which miss the right Alt key.
partial hidden modifier_keys
xkb_symbols "enter_switch" {
key <KPEN> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
modifier_map Mod5 { <KPEN> };
};
|