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