#ifndef _XKBFILE_H_
#define _XKBFILE_H_ 1
#define XkbXKMFile 0
#define XkbCFile 1
#define XkbXKBFile 2
#define XkbMessage 3
#define XkbMapDefined (1<<0)
#define XkbStateDefined (1<<1)
typedef void (*XkbFileAddOnFunc)(
FILE * ,
XkbDescPtr ,
Bool ,
Bool ,
int ,
void *
);
#define _XkbSuccess 0
#define _XkbErrMissingNames 1
#define _XkbErrMissingTypes 2
#define _XkbErrMissingReqTypes 3
#define _XkbErrMissingSymbols 4
#define _XkbErrMissingVMods 5
#define _XkbErrMissingIndicators 6
#define _XkbErrMissingCompatMap 7
#define _XkbErrMissingSymInterps 8
#define _XkbErrMissingGeometry 9
#define _XkbErrIllegalDoodad 10
#define _XkbErrIllegalTOCType 11
#define _XkbErrIllegalContents 12
#define _XkbErrEmptyFile 13
#define _XkbErrFileNotFound 14
#define _XkbErrFileCannotOpen 15
#define _XkbErrBadValue 16
#define _XkbErrBadMatch 17
#define _XkbErrBadTypeName 18
#define _XkbErrBadTypeWidth 19
#define _XkbErrBadFileType 20
#define _XkbErrBadFileVersion 21
#define _XkbErrBadFileFormat 22
#define _XkbErrBadAlloc 23
#define _XkbErrBadLength 24
#define _XkbErrXReqFailure 25
#define _XkbErrBadImplementation 26
extern char * _XkbErrMessages[];
extern unsigned _XkbErrCode;
extern char * _XkbErrLocation;
extern unsigned _XkbErrData;
_XFUNCPROTOBEGIN
extern char * XkbIndentText(
unsigned
);
extern char * XkbAtomText(
Atom ,
unsigned
);
extern char * XkbKeysymText(
KeySym ,
unsigned
);
extern char * XkbStringText(
char * ,
unsigned
);
extern char * XkbKeyNameText(
char * ,
unsigned
);
extern char *
XkbModIndexText(
unsigned ,
unsigned
);
extern char *
XkbModMaskText(
unsigned ,
unsigned
);
extern char * XkbVModIndexText(
XkbDescPtr ,
unsigned ,
unsigned
);
extern char * XkbVModMaskText(
XkbDescPtr ,
unsigned ,
unsigned ,
unsigned
);
extern char * XkbConfigText(
unsigned ,
unsigned
);
extern char * XkbSIMatchText(
unsigned ,
unsigned
);
extern char * XkbIMWhichStateMaskText(
unsigned ,
unsigned
);
extern char * XkbAccessXDetailText(
unsigned ,
unsigned
);
extern char * XkbNKNDetailMaskText(
unsigned ,
unsigned
);
extern char * XkbControlsMaskText(
unsigned ,
unsigned
);
extern char * XkbGeomFPText(
int ,
unsigned
);
extern char * XkbDoodadTypeText(
unsigned ,
unsigned
);
extern char * XkbActionTypeText(
unsigned ,
unsigned
);
extern char * XkbActionText(
XkbDescPtr ,
XkbAction * ,
unsigned
);
extern char * XkbBehaviorText(
XkbDescPtr ,
XkbBehavior * ,
unsigned
);
#define _XkbKSLower (1<<0)
#define _XkbKSUpper (1<<1)
#define XkbKSIsLower(k) (_XkbKSCheckCase(k)&_XkbKSLower)
#define XkbKSIsUpper(k) (_XkbKSCheckCase(k)&_XkbKSUpper)
#define XkbKSIsKeypad(k) (((k)>=XK_KP_Space)&&((k)<=XK_KP_Equal))
#define XkbKSIsDeadKey(k) \
(((k)>=XK_dead_grave)&&((k)<=XK_dead_semivoiced_sound))
extern unsigned _XkbKSCheckCase(
KeySym
);
extern int XkbFindKeycodeByName(
XkbDescPtr ,
char * ,
Bool
);
extern Bool XkbLookupGroupAndLevel(
XkbDescPtr ,
int ,
int * ,
int * ,
int *
);
extern Atom XkbInternAtom(
char * ,
Bool
);
extern void XkbInitAtoms(void);
#ifdef _XKBGEOM_H_
#define XkbDW_Unknown 0
#define XkbDW_Doodad 1
#define XkbDW_Section 2
typedef struct _XkbDrawable {
int type;
int priority;
union {
XkbDoodadPtr doodad;
XkbSectionPtr section;
} u;
struct _XkbDrawable * next;
} XkbDrawableRec,*XkbDrawablePtr;
extern XkbDrawablePtr
XkbGetOrderedDrawables(
XkbGeometryPtr ,
XkbSectionPtr
);
extern void
XkbFreeOrderedDrawables(
XkbDrawablePtr
);
#endif
extern unsigned XkbConvertGetByNameComponents(
Bool ,
unsigned
);
extern unsigned XkbConvertXkbComponents(
Bool ,
unsigned
);
extern Bool XkbNameMatchesPattern(
char * ,
char *
);
extern Bool XkbWriteXKBKeycodes(
FILE * ,
XkbDescPtr ,
Bool ,
Bool ,
XkbFileAddOnFunc ,
void *
);
extern Bool XkbWriteXKBKeyTypes(
FILE * ,
XkbDescPtr ,
Bool ,
Bool ,
XkbFileAddOnFunc ,
void *
);
extern Bool XkbWriteXKBCompatMap(
FILE * ,
XkbDescPtr ,
Bool ,
Bool ,
XkbFileAddOnFunc ,
void *
);
extern Bool XkbWriteXKBSymbols(
FILE * ,
XkbDescPtr ,
Bool ,
Bool ,
XkbFileAddOnFunc ,
void *
);
extern Bool XkbWriteXKBGeometry(
FILE * ,
XkbDescPtr ,
Bool ,
Bool ,
XkbFileAddOnFunc ,
void *
);
extern Bool XkbWriteXKBSemantics(
FILE * ,
XkbDescPtr ,
Bool ,
Bool ,
XkbFileAddOnFunc ,
void *
);
extern Bool XkbWriteXKBLayout(
FILE * ,
XkbDescPtr ,
Bool ,
Bool ,
XkbFileAddOnFunc ,
void *
);
extern Bool XkbWriteXKBKeymap(
FILE * ,
XkbDescPtr ,
Bool ,
Bool ,
XkbFileAddOnFunc ,
void *
);
extern Bool XkbWriteXKBFile(
FILE * ,
XkbDescPtr ,
Bool ,
XkbFileAddOnFunc ,
void *
);
extern Bool XkbWriteCFile(
FILE * ,
char * ,
XkbDescPtr
);
extern Bool XkbWriteXKMFile(
FILE * ,
XkbDescPtr
);
extern Bool XkbWriteToServer(
XkbDescPtr
);
extern void XkbEnsureSafeMapName(
char *
);
extern Bool XkbWriteXKBKeymapForNames(
FILE * ,
XkbComponentNamesPtr ,
XkbDescPtr ,
unsigned ,
unsigned
);
extern Status XkbMergeFile(
XkbDescPtr
);
extern Bool XkmProbe(
FILE *
);
extern unsigned XkmReadFile(
FILE * ,
unsigned ,
unsigned ,
XkbDescPtr *
);
_XFUNCPROTOEND
#endif