lv3:enter_switch, b.fd.o#8324
[xorg/xkeyboard-config] / symbols / level3
1 // $XKeyboardConfig$
2
3 // these variants assign various XKB keycodes to ISO_Level3_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 // the default behavior is for the right Alt key (AltGr) to generate the
10 // third engraved symbol
11 default partial modifier_keys
12 xkb_symbols "ralt_switch" {
13   key <RALT> {
14     type[Group1]="ONE_LEVEL",
15     symbols[Group1] = [ ISO_Level3_Shift ]
16     };
17   modifier_map Mod5   { ISO_Level3_Shift };
18 };
19
20 partial modifier_keys
21 xkb_symbols "ralt_switch_multikey" {
22   key <RALT> {
23     type[Group1]="TWO_LEVEL",
24     symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
25     };
26 };
27
28 // special case or right Alt switch - for use with grp:alts_toggle
29 //
30 partial hidden modifier_keys
31 xkb_symbols "ralt_switch_for_alts_toggle" {
32   key <LALT> {
33     type[Group1]="PC_SYSRQ",
34     symbols[Group1] = [ Alt_L,  ISO_Prev_Group,  ISO_Prev_Group ]
35   };
36   key <RALT> {
37     type[Group1]="PC_ALT_LEVEL2",
38     symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
39     virtualMods= AltGr
40   };
41   modifier_map Mod5   { ISO_Level3_Shift };
42 };
43
44 // using the level(alt_switch) map, either Alt key temporarily chooses
45 // the third shift level.  (Mostly be used to imitate Mac OS functionality.)
46 partial modifier_keys
47 xkb_symbols "alt_switch" {
48   include "level3(lalt_switch)"
49   include "level3(ralt_switch)"
50 };
51
52 partial modifier_keys
53 xkb_symbols "lalt_switch" {
54   key <LALT> {
55     type[Group1]="ONE_LEVEL",
56     symbols[Group1] = [ ISO_Level3_Shift ]
57     };
58   modifier_map Mod5   { ISO_Level3_Shift };
59 };
60
61 // using the level(switch) map, the right Control key temporarily
62 // chooses the third shift level (until it is released).
63 partial modifier_keys
64 xkb_symbols "switch" {
65   key <RCTL> {
66     type[Group1]="ONE_LEVEL",
67     symbols[Group1] = [ ISO_Level3_Shift ]
68     };
69   modifier_map Mod5   { ISO_Level3_Shift };
70 };
71
72 // using the level(menu_switch) map, the Menu key temporarily
73 // chooses the third shift level (until it is released).
74 partial modifier_keys
75 xkb_symbols "menu_switch" {
76   key <MENU> {
77     type[Group1]="ONE_LEVEL",
78     symbols[Group1] = [ ISO_Level3_Shift ]
79     };
80   modifier_map Mod5   { ISO_Level3_Shift };
81 };
82
83 // using the level3(win_switch) map, the either Windows' logo key
84 // temporarily chooses the third shift level.
85 partial modifier_keys
86 xkb_symbols "win_switch" {
87   include "level3(lwin_switch)"
88   include "level3(rwin_switch)"
89 };
90
91 // using the level3(lwin_switch) map, the left Windows' logo key
92 // temporarily chooses the third shift level.
93 partial modifier_keys
94 xkb_symbols "lwin_switch" {
95   key <LWIN> {
96     type[Group1]="ONE_LEVEL",
97     symbols[Group1] = [ ISO_Level3_Shift ]
98     };
99   modifier_map Mod5   { ISO_Level3_Shift };
100 };
101
102 // using the level(rwin_switch) map, the right Windows' logo key
103 // temporarily chooses the third shift level.  If you use this map,
104 // you should define your keyboard as pc101 or pc102 instead of pc104
105 // or pc105.
106 partial modifier_keys
107 xkb_symbols "rwin_switch" {
108   key <RWIN> {
109     type[Group1]="ONE_LEVEL",
110     symbols[Group1] = [ ISO_Level3_Shift ]
111     };
112   modifier_map Mod5   { ISO_Level3_Shift };
113 };
114
115 // using the level3(enter_switch) map, the Enter key on the keypad
116 // temporarily chooses the third shift level.  This is especially
117 // useful for Mac laptops which miss the right Alt key.
118 partial hidden modifier_keys
119 xkb_symbols "enter_switch" {
120   key <KPEN> {
121     type[Group1]="ONE_LEVEL",
122     symbols[Group1] = [ ISO_Level3_Shift ]
123     };
124   modifier_map Mod5   { ISO_Level3_Shift };
125 };