1 /* This file generated automatically by xkbcomp */
3 #ifdef HAVE_DIX_CONFIG_H
4 #include <dix-config.h>
10 #define GET_ATOM(d,s) MakeAtom(s,strlen(s),1)
11 #define DPYTYPE char *
14 #define vmod_NumLock 0
16 #define vmod_LevelThree 2
18 #define vmod_ScrollLock 4
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)
26 /* types name is "default" */
27 static Atom lnames_ONE_LEVEL
[1];
29 static XkbKTMapEntryRec map_TWO_LEVEL
[1]= {
30 { 1, 1, { ShiftMask
, ShiftMask
, 0 } }
32 static Atom lnames_TWO_LEVEL
[2];
34 static XkbKTMapEntryRec map_ALPHABETIC
[2]= {
35 { 1, 1, { ShiftMask
, ShiftMask
, 0 } },
36 { 1, 0, { LockMask
, LockMask
, 0 } }
38 static XkbModsRec preserve_ALPHABETIC
[2]= {
40 { LockMask
, LockMask
, 0 }
42 static Atom lnames_ALPHABETIC
[2];
44 static XkbKTMapEntryRec map_KEYPAD
[2]= {
45 { 1, 1, { ShiftMask
, ShiftMask
, 0 } },
46 { 0, 1, { 0, 0, vmod_NumLockMask
} }
48 static Atom lnames_KEYPAD
[2];
50 static XkbKTMapEntryRec map_PC_BREAK
[1]= {
51 { 1, 1, { ControlMask
, ControlMask
, 0 } }
53 static Atom lnames_PC_BREAK
[2];
55 static XkbKTMapEntryRec map_PC_SYSRQ
[1]= {
56 { 0, 1, { 0, 0, vmod_AltMask
} }
58 static Atom lnames_PC_SYSRQ
[2];
60 static XkbKTMapEntryRec map_CTRL_ALT
[1]= {
61 { 0, 1, { ControlMask
, ControlMask
, vmod_AltMask
} }
63 static Atom lnames_CTRL_ALT
[2];
65 static 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
} }
70 static Atom lnames_THREE_LEVEL
[3];
72 static XkbKTMapEntryRec map_SHIFT_ALT
[1]= {
73 { 0, 1, { ShiftMask
, ShiftMask
, vmod_AltMask
} }
75 static Atom lnames_SHIFT_ALT
[2];
77 static XkbKeyTypeRec dflt_types
[]= {
82 None
, lnames_ONE_LEVEL
85 { ShiftMask
, ShiftMask
, 0 },
87 1, map_TWO_LEVEL
, NULL
,
88 None
, lnames_TWO_LEVEL
91 { ShiftMask
|LockMask
, ShiftMask
|LockMask
, 0 },
93 2, map_ALPHABETIC
, preserve_ALPHABETIC
,
94 None
, lnames_ALPHABETIC
97 { ShiftMask
, ShiftMask
, vmod_NumLockMask
},
103 { ControlMask
, ControlMask
, 0 },
105 1, map_PC_BREAK
, NULL
,
106 None
, lnames_PC_BREAK
109 { 0, 0, vmod_AltMask
},
111 1, map_PC_SYSRQ
, NULL
,
112 None
, lnames_PC_SYSRQ
115 { ControlMask
, ControlMask
, vmod_AltMask
},
117 1, map_CTRL_ALT
, NULL
,
118 None
, lnames_CTRL_ALT
121 { ShiftMask
, ShiftMask
, vmod_LevelThreeMask
},
123 3, map_THREE_LEVEL
, NULL
,
124 None
, lnames_THREE_LEVEL
127 { ShiftMask
, ShiftMask
, vmod_AltMask
},
129 1, map_SHIFT_ALT
, NULL
,
130 None
, lnames_SHIFT_ALT
133 #define num_dflt_types (sizeof(dflt_types)/sizeof(XkbKeyTypeRec))
137 initTypeNames(DPYTYPE dpy
)
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");
167 /* compat name is "default" */
168 static XkbSymInterpretRec dfltSI
[69]= {
169 { XK_ISO_Level2_Latch
, 0x0000,
170 XkbSI_LevelOneOnly
|XkbSI_Exactly
, ShiftMask
,
172 { XkbSA_LatchMods
, { 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
173 { XK_Eisu_Shift
, 0x0000,
174 XkbSI_Exactly
, LockMask
,
176 { XkbSA_NoAction
, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
177 { XK_Eisu_toggle
, 0x0000,
178 XkbSI_Exactly
, LockMask
,
180 { XkbSA_NoAction
, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
181 { XK_Kana_Shift
, 0x0000,
182 XkbSI_Exactly
, LockMask
,
184 { XkbSA_NoAction
, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
185 { XK_Kana_Lock
, 0x0000,
186 XkbSI_Exactly
, LockMask
,
188 { XkbSA_NoAction
, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
189 { XK_Shift_Lock
, 0x0000,
190 XkbSI_AnyOf
, ShiftMask
|LockMask
,
192 { XkbSA_LockMods
, { 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
193 { XK_Num_Lock
, 0x0000,
196 { XkbSA_LockMods
, { 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 } } },
200 { XkbSA_SetMods
, { 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
204 { XkbSA_SetMods
, { 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
205 { XK_Scroll_Lock
, 0x0000,
208 { XkbSA_LockMods
, { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
209 { XK_ISO_Lock
, 0x0000,
212 { XkbSA_ISOLock
, { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
213 { XK_ISO_Level3_Shift
, 0x0000,
214 XkbSI_LevelOneOnly
|XkbSI_AnyOf
, 0xff,
216 { XkbSA_SetMods
, { 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 } } },
217 { XK_ISO_Level3_Latch
, 0x0000,
218 XkbSI_LevelOneOnly
|XkbSI_AnyOf
, 0xff,
220 { XkbSA_LatchMods
, { 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 } } },
221 { XK_Mode_switch
, 0x0000,
222 XkbSI_LevelOneOnly
|XkbSI_AnyOfOrNone
, 0xff,
224 { XkbSA_SetGroup
, { 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
226 XkbSI_AnyOfOrNone
, 0xff,
228 { XkbSA_MovePtr
, { 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00 } } },
230 XkbSI_AnyOfOrNone
, 0xff,
232 { XkbSA_MovePtr
, { 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00 } } },
234 XkbSI_AnyOfOrNone
, 0xff,
236 { XkbSA_MovePtr
, { 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 } } },
237 { XK_KP_Down
, 0x0001,
238 XkbSI_AnyOfOrNone
, 0xff,
240 { XkbSA_MovePtr
, { 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 } } },
242 XkbSI_AnyOfOrNone
, 0xff,
244 { XkbSA_MovePtr
, { 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00 } } },
245 { XK_KP_Next
, 0x0001,
246 XkbSI_AnyOfOrNone
, 0xff,
248 { XkbSA_MovePtr
, { 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00 } } },
250 XkbSI_AnyOfOrNone
, 0xff,
252 { XkbSA_MovePtr
, { 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 } } },
253 { XK_KP_Left
, 0x0001,
254 XkbSI_AnyOfOrNone
, 0xff,
256 { XkbSA_MovePtr
, { 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 } } },
258 XkbSI_AnyOfOrNone
, 0xff,
260 { XkbSA_MovePtr
, { 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
261 { XK_KP_Right
, 0x0001,
262 XkbSI_AnyOfOrNone
, 0xff,
264 { XkbSA_MovePtr
, { 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
266 XkbSI_AnyOfOrNone
, 0xff,
268 { XkbSA_MovePtr
, { 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 } } },
269 { XK_KP_Home
, 0x0001,
270 XkbSI_AnyOfOrNone
, 0xff,
272 { XkbSA_MovePtr
, { 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 } } },
274 XkbSI_AnyOfOrNone
, 0xff,
276 { XkbSA_MovePtr
, { 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 } } },
278 XkbSI_AnyOfOrNone
, 0xff,
280 { XkbSA_MovePtr
, { 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 } } },
282 XkbSI_AnyOfOrNone
, 0xff,
284 { XkbSA_MovePtr
, { 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 } } },
285 { XK_KP_Prior
, 0x0001,
286 XkbSI_AnyOfOrNone
, 0xff,
288 { XkbSA_MovePtr
, { 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00 } } },
290 XkbSI_AnyOfOrNone
, 0xff,
292 { XkbSA_PtrBtn
, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
293 { XK_KP_Begin
, 0x0001,
294 XkbSI_AnyOfOrNone
, 0xff,
296 { XkbSA_PtrBtn
, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
298 XkbSI_AnyOfOrNone
, 0xff,
300 { XkbSA_SetPtrDflt
, { 0x04, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
301 { XK_KP_Divide
, 0x0001,
302 XkbSI_AnyOfOrNone
, 0xff,
304 { XkbSA_SetPtrDflt
, { 0x04, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
306 XkbSI_AnyOfOrNone
, 0xff,
308 { XkbSA_SetPtrDflt
, { 0x04, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
309 { XK_KP_Multiply
, 0x0001,
310 XkbSI_AnyOfOrNone
, 0xff,
312 { XkbSA_SetPtrDflt
, { 0x04, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
314 XkbSI_AnyOfOrNone
, 0xff,
316 { XkbSA_SetPtrDflt
, { 0x04, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00 } } },
317 { XK_KP_Subtract
, 0x0001,
318 XkbSI_AnyOfOrNone
, 0xff,
320 { XkbSA_SetPtrDflt
, { 0x04, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00 } } },
321 { XK_KP_Separator
, 0x0001,
322 XkbSI_AnyOfOrNone
, 0xff,
324 { XkbSA_PtrBtn
, { 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
326 XkbSI_AnyOfOrNone
, 0xff,
328 { XkbSA_PtrBtn
, { 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
330 XkbSI_AnyOfOrNone
, 0xff,
332 { XkbSA_LockPtrBtn
, { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
333 { XK_KP_Insert
, 0x0001,
334 XkbSI_AnyOfOrNone
, 0xff,
336 { XkbSA_LockPtrBtn
, { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
337 { XK_KP_Decimal
, 0x0001,
338 XkbSI_AnyOfOrNone
, 0xff,
340 { XkbSA_LockPtrBtn
, { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
341 { XK_KP_Delete
, 0x0001,
342 XkbSI_AnyOfOrNone
, 0xff,
344 { XkbSA_LockPtrBtn
, { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
345 { XK_Pointer_Button_Dflt
, 0x0000,
346 XkbSI_AnyOfOrNone
, 0xff,
348 { XkbSA_PtrBtn
, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
349 { XK_Pointer_Button1
, 0x0000,
350 XkbSI_AnyOfOrNone
, 0xff,
352 { XkbSA_PtrBtn
, { 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
353 { XK_Pointer_Button2
, 0x0000,
354 XkbSI_AnyOfOrNone
, 0xff,
356 { XkbSA_PtrBtn
, { 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
357 { XK_Pointer_Button3
, 0x0000,
358 XkbSI_AnyOfOrNone
, 0xff,
360 { XkbSA_PtrBtn
, { 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 } } },
361 { XK_Pointer_DblClick_Dflt
, 0x0000,
362 XkbSI_AnyOfOrNone
, 0xff,
364 { XkbSA_PtrBtn
, { 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
365 { XK_Pointer_DblClick1
, 0x0000,
366 XkbSI_AnyOfOrNone
, 0xff,
368 { XkbSA_PtrBtn
, { 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
369 { XK_Pointer_DblClick2
, 0x0000,
370 XkbSI_AnyOfOrNone
, 0xff,
372 { XkbSA_PtrBtn
, { 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
373 { XK_Pointer_DblClick3
, 0x0000,
374 XkbSI_AnyOfOrNone
, 0xff,
376 { XkbSA_PtrBtn
, { 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00 } } },
377 { XK_Pointer_Drag_Dflt
, 0x0000,
378 XkbSI_AnyOfOrNone
, 0xff,
380 { XkbSA_LockPtrBtn
, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
381 { XK_Pointer_Drag1
, 0x0000,
382 XkbSI_AnyOfOrNone
, 0xff,
384 { XkbSA_LockPtrBtn
, { 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
385 { XK_Pointer_Drag2
, 0x0000,
386 XkbSI_AnyOfOrNone
, 0xff,
388 { XkbSA_LockPtrBtn
, { 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
389 { XK_Pointer_Drag3
, 0x0000,
390 XkbSI_AnyOfOrNone
, 0xff,
392 { XkbSA_LockPtrBtn
, { 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00 } } },
393 { XK_Pointer_EnableKeys
, 0x0000,
394 XkbSI_AnyOfOrNone
, 0xff,
396 { XkbSA_LockControls
, { 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 } } },
397 { XK_Pointer_Accelerate
, 0x0000,
398 XkbSI_AnyOfOrNone
, 0xff,
400 { XkbSA_LockControls
, { 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 } } },
401 { XK_Pointer_DfltBtnNext
, 0x0000,
402 XkbSI_AnyOfOrNone
, 0xff,
404 { XkbSA_SetPtrDflt
, { 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 } } },
405 { XK_Pointer_DfltBtnPrev
, 0x0000,
406 XkbSI_AnyOfOrNone
, 0xff,
408 { XkbSA_SetPtrDflt
, { 0x00, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00 } } },
409 { XK_AccessX_Enable
, 0x0000,
410 XkbSI_AnyOfOrNone
, 0xff,
412 { XkbSA_LockControls
, { 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00 } } },
413 { XK_Terminate_Server
, 0x0000,
414 XkbSI_AnyOfOrNone
, 0xff,
416 { XkbSA_Terminate
, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
417 { XK_ISO_Group_Latch
, 0x0000,
418 XkbSI_LevelOneOnly
|XkbSI_AnyOfOrNone
, 0xff,
420 { XkbSA_LatchGroup
, { 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
421 { XK_ISO_Next_Group
, 0x0000,
422 XkbSI_LevelOneOnly
|XkbSI_AnyOfOrNone
, 0xff,
424 { XkbSA_LockGroup
, { 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
425 { XK_ISO_Prev_Group
, 0x0000,
426 XkbSI_LevelOneOnly
|XkbSI_AnyOfOrNone
, 0xff,
428 { XkbSA_LockGroup
, { 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
429 { XK_ISO_First_Group
, 0x0000,
430 XkbSI_AnyOfOrNone
, 0xff,
432 { XkbSA_LockGroup
, { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
433 { XK_ISO_Last_Group
, 0x0000,
434 XkbSI_AnyOfOrNone
, 0xff,
436 { XkbSA_LockGroup
, { 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
438 XkbSI_Exactly
, LockMask
,
440 { XkbSA_LockMods
, { 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00 } } },
444 { XkbSA_SetMods
, { 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } }
446 #define num_dfltSI (sizeof(dfltSI)/sizeof(XkbSymInterpretRec))
448 static XkbCompatMapRec compatMap
= {
450 { /* group compatibility */
452 { 0, 0, vmod_AltGrMask
},
453 { 0, 0, vmod_AltGrMask
},
454 { 0, 0, vmod_AltGrMask
}
456 num_dfltSI
, num_dfltSI
460 initIndicatorNames(DPYTYPE dpy
,XkbDescPtr xkb
)
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");
469 #endif /* DEFAULT_H */