1/* This file generated automatically by xkbcomp */
2/* DO  NOT EDIT */
3#ifdef HAVE_DIX_CONFIG_H
4#include <dix-config.h>
5#endif
6
7#ifndef DEFAULT_H
8#define DEFAULT_H 1
9
10#define GET_ATOM(d,s)	MakeAtom(s,strlen(s),1)
11#define DPYTYPE	char *
12#define NUM_KEYS	1
13
14#define	vmod_NumLock	0
15#define	vmod_Alt	1
16#define	vmod_LevelThree	2
17#define	vmod_AltGr	3
18#define	vmod_ScrollLock	4
19
20#define	vmod_NumLockMask	(1<<0)
21#define	vmod_AltMask	(1<<1)
22#define	vmod_LevelThreeMask	(1<<2)
23#define	vmod_AltGrMask	(1<<3)
24#define	vmod_ScrollLockMask	(1<<4)
25
26/* types name is "default" */
27static Atom lnames_ONE_LEVEL[1];
28
29static XkbKTMapEntryRec map_TWO_LEVEL[1]= {
30    { 1,      1, {       ShiftMask,       ShiftMask,               0 } }
31};
32static Atom lnames_TWO_LEVEL[2];
33
34static XkbKTMapEntryRec map_ALPHABETIC[2]= {
35    { 1,      1, {       ShiftMask,       ShiftMask,               0 } },
36    { 1,      0, {        LockMask,        LockMask,               0 } }
37};
38static XkbModsRec preserve_ALPHABETIC[2]= {
39    {                 0,               0,               0 },
40    {          LockMask,        LockMask,               0 }
41};
42static Atom lnames_ALPHABETIC[2];
43
44static XkbKTMapEntryRec map_KEYPAD[2]= {
45    { 1,      1, {       ShiftMask,       ShiftMask,               0 } },
46    { 0,      1, {               0,               0, vmod_NumLockMask } }
47};
48static Atom lnames_KEYPAD[2];
49
50static XkbKTMapEntryRec map_PC_BREAK[1]= {
51    { 1,      1, {     ControlMask,     ControlMask,               0 } }
52};
53static Atom lnames_PC_BREAK[2];
54
55static XkbKTMapEntryRec map_PC_SYSRQ[1]= {
56    { 0,      1, {               0,               0,    vmod_AltMask } }
57};
58static Atom lnames_PC_SYSRQ[2];
59
60static XkbKTMapEntryRec map_CTRL_ALT[1]= {
61    { 0,      1, {     ControlMask,     ControlMask,    vmod_AltMask } }
62};
63static Atom lnames_CTRL_ALT[2];
64
65static XkbKTMapEntryRec map_THREE_LEVEL[3]= {
66    { 1,      1, {       ShiftMask,       ShiftMask,               0 } },
67    { 0,      2, {               0,               0, vmod_LevelThreeMask } },
68    { 0,      2, {       ShiftMask,       ShiftMask, vmod_LevelThreeMask } }
69};
70static Atom lnames_THREE_LEVEL[3];
71
72static XkbKTMapEntryRec map_SHIFT_ALT[1]= {
73    { 0,      1, {       ShiftMask,       ShiftMask,    vmod_AltMask } }
74};
75static Atom lnames_SHIFT_ALT[2];
76
77static XkbKeyTypeRec dflt_types[]= {
78    {
79	{               0,               0,               0 },
80	1,
81	0,	NULL,	NULL,
82	None,	lnames_ONE_LEVEL
83    },
84    {
85	{       ShiftMask,       ShiftMask,               0 },
86	2,
87	1,	map_TWO_LEVEL,	NULL,
88	None,	lnames_TWO_LEVEL
89    },
90    {
91	{ ShiftMask|LockMask, ShiftMask|LockMask,               0 },
92	2,
93	2,	map_ALPHABETIC,	preserve_ALPHABETIC,
94	None,	lnames_ALPHABETIC
95    },
96    {
97	{       ShiftMask,       ShiftMask, vmod_NumLockMask },
98	2,
99	2,	map_KEYPAD,	NULL,
100	None,	lnames_KEYPAD
101    },
102    {
103	{     ControlMask,     ControlMask,               0 },
104	2,
105	1,	map_PC_BREAK,	NULL,
106	None,	lnames_PC_BREAK
107    },
108    {
109	{               0,               0,    vmod_AltMask },
110	2,
111	1,	map_PC_SYSRQ,	NULL,
112	None,	lnames_PC_SYSRQ
113    },
114    {
115	{     ControlMask,     ControlMask,    vmod_AltMask },
116	2,
117	1,	map_CTRL_ALT,	NULL,
118	None,	lnames_CTRL_ALT
119    },
120    {
121	{       ShiftMask,       ShiftMask, vmod_LevelThreeMask },
122	3,
123	3,	map_THREE_LEVEL,	NULL,
124	None,	lnames_THREE_LEVEL
125    },
126    {
127	{       ShiftMask,       ShiftMask,    vmod_AltMask },
128	2,
129	1,	map_SHIFT_ALT,	NULL,
130	None,	lnames_SHIFT_ALT
131    }
132};
133#define num_dflt_types (sizeof(dflt_types)/sizeof(XkbKeyTypeRec))
134
135
136static void
137initTypeNames(DPYTYPE dpy)
138{
139    dflt_types[0].name= GET_ATOM(dpy,"ONE_LEVEL");
140    lnames_ONE_LEVEL[0]=	GET_ATOM(dpy,"Any");
141    dflt_types[1].name= GET_ATOM(dpy,"TWO_LEVEL");
142    lnames_TWO_LEVEL[0]=	GET_ATOM(dpy,"Base");
143    lnames_TWO_LEVEL[1]=	GET_ATOM(dpy,"Shift");
144    dflt_types[2].name= GET_ATOM(dpy,"ALPHABETIC");
145    lnames_ALPHABETIC[0]=	GET_ATOM(dpy,"Base");
146    lnames_ALPHABETIC[1]=	GET_ATOM(dpy,"Caps");
147    dflt_types[3].name= GET_ATOM(dpy,"KEYPAD");
148    lnames_KEYPAD[0]=	GET_ATOM(dpy,"Base");
149    lnames_KEYPAD[1]=	GET_ATOM(dpy,"Number");
150    dflt_types[4].name= GET_ATOM(dpy,"PC_BREAK");
151    lnames_PC_BREAK[0]=	GET_ATOM(dpy,"Base");
152    lnames_PC_BREAK[1]=	GET_ATOM(dpy,"Control");
153    dflt_types[5].name= GET_ATOM(dpy,"PC_SYSRQ");
154    lnames_PC_SYSRQ[0]=	GET_ATOM(dpy,"Base");
155    lnames_PC_SYSRQ[1]=	GET_ATOM(dpy,"Alt");
156    dflt_types[6].name= GET_ATOM(dpy,"CTRL+ALT");
157    lnames_CTRL_ALT[0]=	GET_ATOM(dpy,"Base");
158    lnames_CTRL_ALT[1]=	GET_ATOM(dpy,"Ctrl+Alt");
159    dflt_types[7].name= GET_ATOM(dpy,"THREE_LEVEL");
160    lnames_THREE_LEVEL[0]=	GET_ATOM(dpy,"Base");
161    lnames_THREE_LEVEL[1]=	GET_ATOM(dpy,"Shift");
162    lnames_THREE_LEVEL[2]=	GET_ATOM(dpy,"Level3");
163    dflt_types[8].name= GET_ATOM(dpy,"SHIFT+ALT");
164    lnames_SHIFT_ALT[0]=	GET_ATOM(dpy,"Base");
165    lnames_SHIFT_ALT[1]=	GET_ATOM(dpy,"Shift+Alt");
166}
167/* compat name is "default" */
168static XkbSymInterpretRec dfltSI[69]= {
169    {    XK_ISO_Level2_Latch, 0x0000,
170         XkbSI_LevelOneOnly|XkbSI_Exactly, ShiftMask,
171         255,
172       {      XkbSA_LatchMods, { 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
173    {    XK_Eisu_Shift, 0x0000,
174         XkbSI_Exactly, LockMask,
175         255,
176       {       XkbSA_NoAction, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
177    {    XK_Eisu_toggle, 0x0000,
178         XkbSI_Exactly, LockMask,
179         255,
180       {       XkbSA_NoAction, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
181    {    XK_Kana_Shift, 0x0000,
182         XkbSI_Exactly, LockMask,
183         255,
184       {       XkbSA_NoAction, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
185    {    XK_Kana_Lock, 0x0000,
186         XkbSI_Exactly, LockMask,
187         255,
188       {       XkbSA_NoAction, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
189    {    XK_Shift_Lock, 0x0000,
190         XkbSI_AnyOf, ShiftMask|LockMask,
191         255,
192       {       XkbSA_LockMods, { 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
193    {    XK_Num_Lock, 0x0000,
194         XkbSI_AnyOf, 0xff,
195         0,
196       {       XkbSA_LockMods, { 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 } } },
197    {    XK_Alt_L, 0x0000,
198         XkbSI_AnyOf, 0xff,
199         1,
200       {        XkbSA_SetMods, { 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
201    {    XK_Alt_R, 0x0000,
202         XkbSI_AnyOf, 0xff,
203         1,
204       {        XkbSA_SetMods, { 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
205    {    XK_Scroll_Lock, 0x0000,
206         XkbSI_AnyOf, 0xff,
207         4,
208       {       XkbSA_LockMods, { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
209    {    XK_ISO_Lock, 0x0000,
210         XkbSI_AnyOf, 0xff,
211         255,
212       {        XkbSA_ISOLock, { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
213    {    XK_ISO_Level3_Shift, 0x0000,
214         XkbSI_LevelOneOnly|XkbSI_AnyOf, 0xff,
215         2,
216       {        XkbSA_SetMods, { 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 } } },
217    {    XK_ISO_Level3_Latch, 0x0000,
218         XkbSI_LevelOneOnly|XkbSI_AnyOf, 0xff,
219         2,
220       {      XkbSA_LatchMods, { 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 } } },
221    {    XK_Mode_switch, 0x0000,
222         XkbSI_LevelOneOnly|XkbSI_AnyOfOrNone, 0xff,
223         3,
224       {       XkbSA_SetGroup, { 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
225    {    XK_KP_1, 0x0001,
226         XkbSI_AnyOfOrNone, 0xff,
227         255,
228       {        XkbSA_MovePtr, { 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00 } } },
229    {    XK_KP_End, 0x0001,
230         XkbSI_AnyOfOrNone, 0xff,
231         255,
232       {        XkbSA_MovePtr, { 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00 } } },
233    {    XK_KP_2, 0x0001,
234         XkbSI_AnyOfOrNone, 0xff,
235         255,
236       {        XkbSA_MovePtr, { 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 } } },
237    {    XK_KP_Down, 0x0001,
238         XkbSI_AnyOfOrNone, 0xff,
239         255,
240       {        XkbSA_MovePtr, { 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 } } },
241    {    XK_KP_3, 0x0001,
242         XkbSI_AnyOfOrNone, 0xff,
243         255,
244       {        XkbSA_MovePtr, { 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00 } } },
245    {    XK_KP_Next, 0x0001,
246         XkbSI_AnyOfOrNone, 0xff,
247         255,
248       {        XkbSA_MovePtr, { 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00 } } },
249    {    XK_KP_4, 0x0001,
250         XkbSI_AnyOfOrNone, 0xff,
251         255,
252       {        XkbSA_MovePtr, { 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 } } },
253    {    XK_KP_Left, 0x0001,
254         XkbSI_AnyOfOrNone, 0xff,
255         255,
256       {        XkbSA_MovePtr, { 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 } } },
257    {    XK_KP_6, 0x0001,
258         XkbSI_AnyOfOrNone, 0xff,
259         255,
260       {        XkbSA_MovePtr, { 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
261    {    XK_KP_Right, 0x0001,
262         XkbSI_AnyOfOrNone, 0xff,
263         255,
264       {        XkbSA_MovePtr, { 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
265    {    XK_KP_7, 0x0001,
266         XkbSI_AnyOfOrNone, 0xff,
267         255,
268       {        XkbSA_MovePtr, { 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 } } },
269    {    XK_KP_Home, 0x0001,
270         XkbSI_AnyOfOrNone, 0xff,
271         255,
272       {        XkbSA_MovePtr, { 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 } } },
273    {    XK_KP_8, 0x0001,
274         XkbSI_AnyOfOrNone, 0xff,
275         255,
276       {        XkbSA_MovePtr, { 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 } } },
277    {    XK_KP_Up, 0x0001,
278         XkbSI_AnyOfOrNone, 0xff,
279         255,
280       {        XkbSA_MovePtr, { 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 } } },
281    {    XK_KP_9, 0x0001,
282         XkbSI_AnyOfOrNone, 0xff,
283         255,
284       {        XkbSA_MovePtr, { 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 } } },
285    {    XK_KP_Prior, 0x0001,
286         XkbSI_AnyOfOrNone, 0xff,
287         255,
288       {        XkbSA_MovePtr, { 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00 } } },
289    {    XK_KP_5, 0x0001,
290         XkbSI_AnyOfOrNone, 0xff,
291         255,
292       {         XkbSA_PtrBtn, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
293    {    XK_KP_Begin, 0x0001,
294         XkbSI_AnyOfOrNone, 0xff,
295         255,
296       {         XkbSA_PtrBtn, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
297    {    XK_KP_F1, 0x0001,
298         XkbSI_AnyOfOrNone, 0xff,
299         255,
300       {     XkbSA_SetPtrDflt, { 0x04, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
301    {    XK_KP_Divide, 0x0001,
302         XkbSI_AnyOfOrNone, 0xff,
303         255,
304       {     XkbSA_SetPtrDflt, { 0x04, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
305    {    XK_KP_F2, 0x0001,
306         XkbSI_AnyOfOrNone, 0xff,
307         255,
308       {     XkbSA_SetPtrDflt, { 0x04, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
309    {    XK_KP_Multiply, 0x0001,
310         XkbSI_AnyOfOrNone, 0xff,
311         255,
312       {     XkbSA_SetPtrDflt, { 0x04, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
313    {    XK_KP_F3, 0x0001,
314         XkbSI_AnyOfOrNone, 0xff,
315         255,
316       {     XkbSA_SetPtrDflt, { 0x04, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00 } } },
317    {    XK_KP_Subtract, 0x0001,
318         XkbSI_AnyOfOrNone, 0xff,
319         255,
320       {     XkbSA_SetPtrDflt, { 0x04, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00 } } },
321    {    XK_KP_Separator, 0x0001,
322         XkbSI_AnyOfOrNone, 0xff,
323         255,
324       {         XkbSA_PtrBtn, { 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
325    {    XK_KP_Add, 0x0001,
326         XkbSI_AnyOfOrNone, 0xff,
327         255,
328       {         XkbSA_PtrBtn, { 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
329    {    XK_KP_0, 0x0001,
330         XkbSI_AnyOfOrNone, 0xff,
331         255,
332       {     XkbSA_LockPtrBtn, { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
333    {    XK_KP_Insert, 0x0001,
334         XkbSI_AnyOfOrNone, 0xff,
335         255,
336       {     XkbSA_LockPtrBtn, { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
337    {    XK_KP_Decimal, 0x0001,
338         XkbSI_AnyOfOrNone, 0xff,
339         255,
340       {     XkbSA_LockPtrBtn, { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
341    {    XK_KP_Delete, 0x0001,
342         XkbSI_AnyOfOrNone, 0xff,
343         255,
344       {     XkbSA_LockPtrBtn, { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
345    {    XK_Pointer_Button_Dflt, 0x0000,
346         XkbSI_AnyOfOrNone, 0xff,
347         255,
348       {         XkbSA_PtrBtn, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
349    {    XK_Pointer_Button1, 0x0000,
350         XkbSI_AnyOfOrNone, 0xff,
351         255,
352       {         XkbSA_PtrBtn, { 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
353    {    XK_Pointer_Button2, 0x0000,
354         XkbSI_AnyOfOrNone, 0xff,
355         255,
356       {         XkbSA_PtrBtn, { 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
357    {    XK_Pointer_Button3, 0x0000,
358         XkbSI_AnyOfOrNone, 0xff,
359         255,
360       {         XkbSA_PtrBtn, { 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 } } },
361    {    XK_Pointer_DblClick_Dflt, 0x0000,
362         XkbSI_AnyOfOrNone, 0xff,
363         255,
364       {         XkbSA_PtrBtn, { 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
365    {    XK_Pointer_DblClick1, 0x0000,
366         XkbSI_AnyOfOrNone, 0xff,
367         255,
368       {         XkbSA_PtrBtn, { 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
369    {    XK_Pointer_DblClick2, 0x0000,
370         XkbSI_AnyOfOrNone, 0xff,
371         255,
372       {         XkbSA_PtrBtn, { 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
373    {    XK_Pointer_DblClick3, 0x0000,
374         XkbSI_AnyOfOrNone, 0xff,
375         255,
376       {         XkbSA_PtrBtn, { 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00 } } },
377    {    XK_Pointer_Drag_Dflt, 0x0000,
378         XkbSI_AnyOfOrNone, 0xff,
379         255,
380       {     XkbSA_LockPtrBtn, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
381    {    XK_Pointer_Drag1, 0x0000,
382         XkbSI_AnyOfOrNone, 0xff,
383         255,
384       {     XkbSA_LockPtrBtn, { 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
385    {    XK_Pointer_Drag2, 0x0000,
386         XkbSI_AnyOfOrNone, 0xff,
387         255,
388       {     XkbSA_LockPtrBtn, { 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
389    {    XK_Pointer_Drag3, 0x0000,
390         XkbSI_AnyOfOrNone, 0xff,
391         255,
392       {     XkbSA_LockPtrBtn, { 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 } } },
393    {    XK_Pointer_EnableKeys, 0x0000,
394         XkbSI_AnyOfOrNone, 0xff,
395         255,
396       {   XkbSA_LockControls, { 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 } } },
397    {    XK_Pointer_Accelerate, 0x0000,
398         XkbSI_AnyOfOrNone, 0xff,
399         255,
400       {   XkbSA_LockControls, { 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 } } },
401    {    XK_Pointer_DfltBtnNext, 0x0000,
402         XkbSI_AnyOfOrNone, 0xff,
403         255,
404       {     XkbSA_SetPtrDflt, { 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
405    {    XK_Pointer_DfltBtnPrev, 0x0000,
406         XkbSI_AnyOfOrNone, 0xff,
407         255,
408       {     XkbSA_SetPtrDflt, { 0x00, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00 } } },
409    {    XK_AccessX_Enable, 0x0000,
410         XkbSI_AnyOfOrNone, 0xff,
411         255,
412       {   XkbSA_LockControls, { 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00 } } },
413    {    XK_Terminate_Server, 0x0000,
414         XkbSI_AnyOfOrNone, 0xff,
415         255,
416       {      XkbSA_Terminate, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
417    {    XK_ISO_Group_Latch, 0x0000,
418         XkbSI_LevelOneOnly|XkbSI_AnyOfOrNone, 0xff,
419         3,
420       {     XkbSA_LatchGroup, { 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
421    {    XK_ISO_Next_Group, 0x0000,
422         XkbSI_LevelOneOnly|XkbSI_AnyOfOrNone, 0xff,
423         3,
424       {      XkbSA_LockGroup, { 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
425    {    XK_ISO_Prev_Group, 0x0000,
426         XkbSI_LevelOneOnly|XkbSI_AnyOfOrNone, 0xff,
427         3,
428       {      XkbSA_LockGroup, { 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
429    {    XK_ISO_First_Group, 0x0000,
430         XkbSI_AnyOfOrNone, 0xff,
431         255,
432       {      XkbSA_LockGroup, { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
433    {    XK_ISO_Last_Group, 0x0000,
434         XkbSI_AnyOfOrNone, 0xff,
435         255,
436       {      XkbSA_LockGroup, { 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
437    {    NoSymbol, 0x0000,
438         XkbSI_Exactly, LockMask,
439         255,
440       {       XkbSA_LockMods, { 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
441    {    NoSymbol, 0x0000,
442         XkbSI_AnyOf, 0xff,
443         255,
444       {        XkbSA_SetMods, { 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } }
445};
446#define num_dfltSI (sizeof(dfltSI)/sizeof(XkbSymInterpretRec))
447
448static XkbCompatMapRec compatMap= {
449    dfltSI,
450    {   /* group compatibility */
451        {            0,            0,            0 },
452        {            0,            0, vmod_AltGrMask },
453        {            0,            0, vmod_AltGrMask },
454        {            0,            0, vmod_AltGrMask }
455    },
456    num_dfltSI, num_dfltSI
457};
458
459static void
460initIndicatorNames(DPYTYPE dpy,XkbDescPtr xkb)
461{
462    xkb->names->indicators[ 0]=	GET_ATOM(dpy,"Caps Lock");
463    xkb->names->indicators[ 1]=	GET_ATOM(dpy,"Num Lock");
464    xkb->names->indicators[ 2]=	GET_ATOM(dpy,"Shift Lock");
465    xkb->names->indicators[ 3]=	GET_ATOM(dpy,"Mouse Keys");
466    xkb->names->indicators[ 4]=	GET_ATOM(dpy,"Scroll Lock");
467    xkb->names->indicators[ 5]=	GET_ATOM(dpy,"Group 2");
468}
469#endif /* DEFAULT_H */
470