| 1 | |
| 2 | #ifndef _XKBFILE_H_ |
| 3 | #define _XKBFILE_H_ 1 |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 | |
| 19 | |
| 20 | |
| 21 | |
| 22 | |
| 23 | |
| 24 | |
| 25 | |
| 26 | |
| 27 | |
| 28 | |
| 29 | |
| 30 | |
| 31 | |
| 32 | |
| 33 | #define XkbXKMFile 0 |
| 34 | #define XkbCFile 1 |
| 35 | #define XkbXKBFile 2 |
| 36 | #define XkbMessage 3 |
| 37 | |
| 38 | #define XkbMapDefined (1<<0) |
| 39 | #define XkbStateDefined (1<<1) |
| 40 | |
| 41 | typedef struct _XkbFileInfo { |
| 42 | unsigned type; |
| 43 | unsigned defined; |
| 44 | XkbDescPtr xkb; |
| 45 | } XkbFileInfo,*XkbFileInfoPtr; |
| 46 | |
| 47 | typedef void (*XkbFileAddOnFunc)( |
| 48 | FILE * , |
| 49 | XkbFileInfo * , |
| 50 | Bool , |
| 51 | Bool , |
| 52 | int , |
| 53 | void * |
| 54 | ); |
| 55 | |
| 56 | |
| 57 | |
| 58 | #define _XkbSuccess 0 |
| 59 | #define _XkbErrMissingNames 1 |
| 60 | #define _XkbErrMissingTypes 2 |
| 61 | #define _XkbErrMissingReqTypes 3 |
| 62 | #define _XkbErrMissingSymbols 4 |
| 63 | #define _XkbErrMissingVMods 5 |
| 64 | #define _XkbErrMissingIndicators 6 |
| 65 | #define _XkbErrMissingCompatMap 7 |
| 66 | #define _XkbErrMissingSymInterps 8 |
| 67 | #define _XkbErrMissingGeometry 9 |
| 68 | #define _XkbErrIllegalDoodad 10 |
| 69 | #define _XkbErrIllegalTOCType 11 |
| 70 | #define _XkbErrIllegalContents 12 |
| 71 | #define _XkbErrEmptyFile 13 |
| 72 | #define _XkbErrFileNotFound 14 |
| 73 | #define _XkbErrFileCannotOpen 15 |
| 74 | #define _XkbErrBadValue 16 |
| 75 | #define _XkbErrBadMatch 17 |
| 76 | #define _XkbErrBadTypeName 18 |
| 77 | #define _XkbErrBadTypeWidth 19 |
| 78 | #define _XkbErrBadFileType 20 |
| 79 | #define _XkbErrBadFileVersion 21 |
| 80 | #define _XkbErrBadFileFormat 22 |
| 81 | #define _XkbErrBadAlloc 23 |
| 82 | #define _XkbErrBadLength 24 |
| 83 | #define _XkbErrXReqFailure 25 |
| 84 | #define _XkbErrBadImplementation 26 |
| 85 | |
| 86 | extern const char * _XkbErrMessages[]; |
| 87 | extern unsigned _XkbErrCode; |
| 88 | extern const char * _XkbErrLocation; |
| 89 | extern unsigned _XkbErrData; |
| 90 | |
| 91 | |
| 92 | |
| 93 | _XFUNCPROTOBEGIN |
| 94 | |
| 95 | extern char * XkbIndentText( |
| 96 | unsigned |
| 97 | ); |
| 98 | |
| 99 | extern char * XkbAtomText( |
| 100 | Display * , |
| 101 | Atom , |
| 102 | unsigned |
| 103 | ); |
| 104 | |
| 105 | extern char * XkbKeysymText( |
| 106 | KeySym , |
| 107 | unsigned |
| 108 | ); |
| 109 | |
| 110 | extern char * XkbStringText( |
| 111 | char * , |
| 112 | unsigned |
| 113 | ); |
| 114 | |
| 115 | extern char * XkbKeyNameText( |
| 116 | char * , |
| 117 | unsigned |
| 118 | ); |
| 119 | |
| 120 | extern char * |
| 121 | XkbModIndexText( |
| 122 | unsigned , |
| 123 | unsigned |
| 124 | ); |
| 125 | |
| 126 | extern char * |
| 127 | XkbModMaskText( |
| 128 | unsigned , |
| 129 | unsigned |
| 130 | ); |
| 131 | |
| 132 | extern char * XkbVModIndexText( |
| 133 | Display * , |
| 134 | XkbDescPtr , |
| 135 | unsigned , |
| 136 | unsigned |
| 137 | ); |
| 138 | |
| 139 | extern char * XkbVModMaskText( |
| 140 | Display * , |
| 141 | XkbDescPtr , |
| 142 | unsigned , |
| 143 | unsigned , |
| 144 | unsigned |
| 145 | ); |
| 146 | |
| 147 | extern char * XkbConfigText( |
| 148 | unsigned , |
| 149 | unsigned |
| 150 | ); |
| 151 | |
| 152 | extern char * XkbSIMatchText( |
| 153 | unsigned , |
| 154 | unsigned |
| 155 | ); |
| 156 | |
| 157 | extern char * XkbIMWhichStateMaskText( |
| 158 | unsigned , |
| 159 | unsigned |
| 160 | ); |
| 161 | |
| 162 | extern char * XkbAccessXDetailText( |
| 163 | unsigned , |
| 164 | unsigned |
| 165 | ); |
| 166 | |
| 167 | extern char * XkbNKNDetailMaskText( |
| 168 | unsigned , |
| 169 | unsigned |
| 170 | ); |
| 171 | |
| 172 | extern char * XkbControlsMaskText( |
| 173 | unsigned , |
| 174 | unsigned |
| 175 | ); |
| 176 | |
| 177 | extern char * XkbGeomFPText( |
| 178 | int , |
| 179 | unsigned |
| 180 | ); |
| 181 | |
| 182 | extern char * XkbDoodadTypeText( |
| 183 | unsigned , |
| 184 | unsigned |
| 185 | ); |
| 186 | |
| 187 | extern char * XkbActionTypeText( |
| 188 | unsigned , |
| 189 | unsigned |
| 190 | ); |
| 191 | |
| 192 | extern char * XkbActionText( |
| 193 | Display * , |
| 194 | XkbDescPtr , |
| 195 | XkbAction * , |
| 196 | unsigned |
| 197 | ); |
| 198 | |
| 199 | extern char * XkbBehaviorText( |
| 200 | XkbDescPtr , |
| 201 | XkbBehavior * , |
| 202 | unsigned |
| 203 | ); |
| 204 | |
| 205 | |
| 206 | |
| 207 | #define _XkbKSLower (1<<0) |
| 208 | #define _XkbKSUpper (1<<1) |
| 209 | |
| 210 | #define XkbKSIsLower(k) (_XkbKSCheckCase(k)&_XkbKSLower) |
| 211 | #define XkbKSIsUpper(k) (_XkbKSCheckCase(k)&_XkbKSUpper) |
| 212 | #define XkbKSIsKeypad(k) (((k)>=XK_KP_Space)&&((k)<=XK_KP_Equal)) |
| 213 | #define XkbKSIsDeadKey(k) \ |
| 214 | (((k)>=XK_dead_grave)&&((k)<=XK_dead_semivoiced_sound)) |
| 215 | |
| 216 | extern unsigned _XkbKSCheckCase( |
| 217 | KeySym |
| 218 | ); |
| 219 | |
| 220 | extern int XkbFindKeycodeByName( |
| 221 | XkbDescPtr , |
| 222 | char * , |
| 223 | Bool |
| 224 | ); |
| 225 | |
| 226 | extern Bool XkbLookupGroupAndLevel( |
| 227 | XkbDescPtr , |
| 228 | int , |
| 229 | int * , |
| 230 | int * , |
| 231 | int * |
| 232 | ); |
| 233 | |
| 234 | |
| 235 | |
| 236 | |
| 237 | extern Bool XkbLookupCanonicalRGBColor( |
| 238 | char * , |
| 239 | XColor * |
| 240 | ); |
| 241 | |
| 242 | |
| 243 | |
| 244 | |
| 245 | extern char * XkbAtomGetString( |
| 246 | Display * , |
| 247 | Atom |
| 248 | ); |
| 249 | |
| 250 | extern Atom XkbInternAtom( |
| 251 | Display * , |
| 252 | const char *, |
| 253 | Bool |
| 254 | ); |
| 255 | |
| 256 | extern Status XkbChangeKbdDisplay( |
| 257 | Display * , |
| 258 | XkbFileInfo * |
| 259 | ); |
| 260 | |
| 261 | extern Atom XkbChangeAtomDisplay( |
| 262 | Display * , |
| 263 | Display * , |
| 264 | Atom |
| 265 | ); |
| 266 | |
| 267 | extern void XkbInitAtoms( |
| 268 | Display * |
| 269 | ); |
| 270 | |
| 271 | |
| 272 | |
| 273 | #ifdef _XKBGEOM_H_ |
| 274 | |
| 275 | #define XkbDW_Unknown 0 |
| 276 | #define XkbDW_Doodad 1 |
| 277 | #define XkbDW_Section 2 |
| 278 | typedef struct _XkbDrawable { |
| 279 | int type; |
| 280 | int priority; |
| 281 | union { |
| 282 | XkbDoodadPtr doodad; |
| 283 | XkbSectionPtr section; |
| 284 | } u; |
| 285 | struct _XkbDrawable * next; |
| 286 | } XkbDrawableRec,*XkbDrawablePtr; |
| 287 | |
| 288 | extern XkbDrawablePtr |
| 289 | XkbGetOrderedDrawables( |
| 290 | XkbGeometryPtr , |
| 291 | XkbSectionPtr |
| 292 | ); |
| 293 | |
| 294 | extern void |
| 295 | XkbFreeOrderedDrawables( |
| 296 | XkbDrawablePtr |
| 297 | ); |
| 298 | |
| 299 | #endif |
| 300 | |
| 301 | |
| 302 | |
| 303 | extern unsigned XkbConvertGetByNameComponents( |
| 304 | Bool , |
| 305 | unsigned |
| 306 | ); |
| 307 | |
| 308 | extern unsigned XkbConvertXkbComponents( |
| 309 | Bool , |
| 310 | unsigned |
| 311 | ); |
| 312 | |
| 313 | extern Bool XkbDetermineFileType( |
| 314 | XkbFileInfo * , |
| 315 | int , |
| 316 | int * |
| 317 | ); |
| 318 | |
| 319 | extern Bool XkbNameMatchesPattern( |
| 320 | char * , |
| 321 | char * |
| 322 | ); |
| 323 | |
| 324 | |
| 325 | |
| 326 | extern Bool XkbWriteXKBKeycodes( |
| 327 | FILE * , |
| 328 | XkbFileInfo * , |
| 329 | Bool , |
| 330 | Bool , |
| 331 | XkbFileAddOnFunc , |
| 332 | void * |
| 333 | ); |
| 334 | |
| 335 | extern Bool XkbWriteXKBKeyTypes( |
| 336 | FILE * , |
| 337 | XkbFileInfo * , |
| 338 | Bool , |
| 339 | Bool , |
| 340 | XkbFileAddOnFunc , |
| 341 | void * |
| 342 | ); |
| 343 | |
| 344 | extern Bool XkbWriteXKBCompatMap( |
| 345 | FILE * , |
| 346 | XkbFileInfo * , |
| 347 | Bool , |
| 348 | Bool , |
| 349 | XkbFileAddOnFunc , |
| 350 | void * |
| 351 | ); |
| 352 | |
| 353 | extern Bool XkbWriteXKBSymbols( |
| 354 | FILE * , |
| 355 | XkbFileInfo * , |
| 356 | Bool , |
| 357 | Bool , |
| 358 | XkbFileAddOnFunc , |
| 359 | void * |
| 360 | ); |
| 361 | |
| 362 | extern Bool XkbWriteXKBGeometry( |
| 363 | FILE * , |
| 364 | XkbFileInfo * , |
| 365 | Bool , |
| 366 | Bool , |
| 367 | XkbFileAddOnFunc , |
| 368 | void * |
| 369 | ); |
| 370 | |
| 371 | extern Bool XkbWriteXKBSemantics( |
| 372 | FILE * , |
| 373 | XkbFileInfo * , |
| 374 | Bool , |
| 375 | Bool , |
| 376 | XkbFileAddOnFunc , |
| 377 | void * |
| 378 | ); |
| 379 | |
| 380 | extern Bool XkbWriteXKBLayout( |
| 381 | FILE * , |
| 382 | XkbFileInfo * , |
| 383 | Bool , |
| 384 | Bool , |
| 385 | XkbFileAddOnFunc , |
| 386 | void * |
| 387 | ); |
| 388 | |
| 389 | extern Bool XkbWriteXKBKeymap( |
| 390 | FILE * , |
| 391 | XkbFileInfo * , |
| 392 | Bool , |
| 393 | Bool , |
| 394 | XkbFileAddOnFunc , |
| 395 | void * |
| 396 | ); |
| 397 | |
| 398 | extern Bool XkbWriteXKBFile( |
| 399 | FILE * , |
| 400 | XkbFileInfo * , |
| 401 | Bool , |
| 402 | XkbFileAddOnFunc , |
| 403 | void * |
| 404 | ); |
| 405 | |
| 406 | extern Bool XkbWriteCFile( |
| 407 | FILE * , |
| 408 | char * , |
| 409 | XkbFileInfo * |
| 410 | ); |
| 411 | |
| 412 | extern Bool XkbWriteXKMFile( |
| 413 | FILE * , |
| 414 | XkbFileInfo * |
| 415 | ); |
| 416 | |
| 417 | extern Bool XkbWriteToServer( |
| 418 | XkbFileInfo * |
| 419 | ); |
| 420 | |
| 421 | extern void XkbEnsureSafeMapName( |
| 422 | char * |
| 423 | ); |
| 424 | |
| 425 | extern Bool XkbWriteXKBKeymapForNames( |
| 426 | FILE * , |
| 427 | XkbComponentNamesPtr , |
| 428 | Display * , |
| 429 | XkbDescPtr , |
| 430 | unsigned , |
| 431 | unsigned |
| 432 | ); |
| 433 | |
| 434 | extern Status XkbMergeFile( |
| 435 | XkbDescPtr , |
| 436 | XkbFileInfo |
| 437 | ); |
| 438 | |
| 439 | |
| 440 | |
| 441 | extern Bool XkmProbe( |
| 442 | FILE * |
| 443 | ); |
| 444 | |
| 445 | extern unsigned XkbReadFromServer( |
| 446 | Display * , |
| 447 | unsigned , |
| 448 | unsigned , |
| 449 | XkbFileInfo * |
| 450 | ); |
| 451 | |
| 452 | extern unsigned XkmReadFile( |
| 453 | FILE * , |
| 454 | unsigned , |
| 455 | unsigned , |
| 456 | XkbFileInfo * |
| 457 | ); |
| 458 | |
| 459 | #ifdef _XKMFORMAT_H_ |
| 460 | |
| 461 | extern Bool XkmReadTOC( |
| 462 | FILE * , |
| 463 | xkmFileInfo * , |
| 464 | int , |
| 465 | xkmSectionInfo * |
| 466 | ); |
| 467 | |
| 468 | extern xkmSectionInfo *XkmFindTOCEntry( |
| 469 | xkmFileInfo * , |
| 470 | xkmSectionInfo * , |
| 471 | unsigned |
| 472 | ); |
| 473 | |
| 474 | extern Bool XkmReadFileSection( |
| 475 | FILE * , |
| 476 | xkmSectionInfo * , |
| 477 | XkbFileInfo * , |
| 478 | unsigned * |
| 479 | ); |
| 480 | |
| 481 | extern char * XkmReadFileSectionName( |
| 482 | FILE * , |
| 483 | xkmSectionInfo * |
| 484 | ); |
| 485 | |
| 486 | #endif |
| 487 | |
| 488 | _XFUNCPROTOEND |
| 489 | |
| 490 | #endif |