adding 5th level, adding ca(multix)
[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 // special case or right Alt switch - for use with grp:alts_toggle
21 //
22 partial hidden modifier_keys
23 xkb_symbols "ralt_switch_for_alts_toggle" {
24   key <LALT> {
25     type[Group1]="PC_SYSRQ",
26     symbols[Group1] = [ Alt_L,  ISO_Prev_Group,  ISO_Prev_Group ]
27   };
28   key <RALT> {
29     type[Group1]="PC_SYSRQ",
30     symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ]
31     };
32   modifier_map Mod5   { ISO_Level3_Shift };
33 };
34
35 // using the level(alt_switch) map, either Alt key temporarily chooses
36 // the third shift level.  (Mostly be used to imitate Mac OS functionality.)
37 partial modifier_keys
38 xkb_symbols "alt_switch" {
39   include "level3(lalt_switch)"
40   include "level3(ralt_switch)"
41 };
42
43 partial modifier_keys
44 xkb_symbols "lalt_switch" {
45   key <LALT> {
46     type[Group1]="ONE_LEVEL",
47     symbols[Group1] = [ ISO_Level3_Shift ]
48     };
49   modifier_map Mod5   { ISO_Level3_Shift };
50 };
51
52 // using the level(switch) map, the right Control key temporarily
53 // chooses the third shift level (until it is released).
54 partial modifier_keys
55 xkb_symbols "switch" {
56   key <RCTL> {
57     type[Group1]="ONE_LEVEL",
58     symbols[Group1] = [ ISO_Level3_Shift ]
59     };
60   modifier_map Mod5   { ISO_Level3_Shift };
61 };
62
63 // using the level(menu_switch) map, the Menu key temporarily
64 // chooses the third shift level (until it is released).
65 partial modifier_keys
66 xkb_symbols "menu_switch" {
67   key <MENU> {
68     type[Group1]="ONE_LEVEL",
69     symbols[Group1] = [ ISO_Level3_Shift ]
70     };
71   modifier_map Mod5   { ISO_Level3_Shift };
72 };
73
74 // using the level(win_switch) map, the either Windows' logo key
75 // temporarily chooses the third shift level.  If you use this map,
76 // you should define your keyboard as pc101 or pc102 instead of pc104
77 // or pc105.
78 partial modifier_keys
79 xkb_symbols "win_switch" {
80   include "level3(lwin_switch)"
81   include "level3(rwin_switch)"
82 };
83
84 // using the level(lwin_switch) map, the left Windows' logo key
85 // temporarily chooses the third shift level.  If you use this map,
86 // you should define your keyboard as pc101 or pc102 instead of pc104
87 // or pc105.
88 partial modifier_keys
89 xkb_symbols "lwin_switch" {
90   key <LWIN> {
91     type[Group1]="ONE_LEVEL",
92     symbols[Group1] = [ ISO_Level3_Shift ]
93     };
94   modifier_map Mod5   { ISO_Level3_Shift };
95 };
96
97 // using the level(rwin_switch) map, the right Windows' logo key
98 // temporarily chooses the third shift level.  If you use this map,
99 // you should define your keyboard as pc101 or pc102 instead of pc104
100 // or pc105.
101 partial modifier_keys
102 xkb_symbols "rwin_switch" {
103   key <RWIN> {
104     type[Group1]="ONE_LEVEL",
105     symbols[Group1] = [ ISO_Level3_Shift ]
106     };
107   modifier_map Mod5   { ISO_Level3_Shift };
108 };