X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fxkbcomp%2Fxkbcomp.h;h=a4078a3f1ea0a5d3f1919e63d7eebc09eb7d318a;hb=e7bb1e5fd99438b69bb7ce8c29de381d55c95b96;hp=e9d5f47f60c6ffab346a76277daad509ca33a6df;hpb=3d4c4d06d560228414ecdc4944e46486e70b075e;p=platform%2Fupstream%2Flibxkbcommon.git diff --git a/src/xkbcomp/xkbcomp.h b/src/xkbcomp/xkbcomp.h index e9d5f47..a4078a3 100644 --- a/src/xkbcomp/xkbcomp.h +++ b/src/xkbcomp/xkbcomp.h @@ -27,27 +27,11 @@ #ifndef XKBCOMP_H #define XKBCOMP_H 1 -#ifndef DEBUG_VAR -#define DEBUG_VAR debugFlags -#endif - -#include -#include - -#include "utils.h" - -#include -#include -#include -#include "X11/extensions/XKBcommon.h" -#include "XKBcommonint.h" - -extern char *scanFile; +#include "xkb-priv.h" #define TypeUnknown 0 #define TypeBoolean 1 #define TypeInt 2 -#define TypeFloat 3 #define TypeString 4 #define TypeAction 5 #define TypeKeyName 6 @@ -67,14 +51,6 @@ extern char *scanFile; #define StmtGroupCompatDef 11 #define StmtIndicatorMapDef 12 #define StmtIndicatorNameDef 13 -#define StmtOutlineDef 14 -#define StmtShapeDef 15 -#define StmtKeyDef 16 -#define StmtRowDef 17 -#define StmtSectionDef 18 -#define StmtOverlayKeyDef 19 -#define StmtOverlayDef 20 -#define StmtDoodadDef 21 #define FileSymInterp 100 @@ -91,7 +67,6 @@ typedef struct _ParseCommon #define ExprArrayRef 4 #define ExprKeysymList 5 #define ExprActionList 6 -#define ExprCoord 7 #define OpAdd 20 #define OpSubtract 21 @@ -113,7 +88,6 @@ typedef struct _ParseCommon #define CreateKeyNames(x) ((x)->flags&AutoKeyNames) extern unsigned warningLevel; -extern unsigned optionalParts; typedef struct _IncludeStmt { @@ -141,37 +115,35 @@ typedef struct _Expr } binary; struct { - Atom element; - Atom field; + xkb_atom_t element; + xkb_atom_t field; } field; struct { - Atom element; - Atom field; + xkb_atom_t element; + xkb_atom_t field; struct _Expr *entry; } array; struct { - Atom name; + xkb_atom_t name; struct _Expr *args; } action; struct { int nSyms; int szSyms; - KeySym *syms; + char **syms; + int nLevels; + int szLevels; + int *symsMapIndex; + unsigned int *symsNumEntries; } list; - struct - { - int x; - int y; - } coord; struct _Expr *child; - Atom str; + xkb_atom_t str; unsigned uval; int ival; char keyName[5]; - Opaque ptr; } value; } ExprDef; @@ -187,7 +159,7 @@ typedef struct _VModDef { ParseCommon common; unsigned merge; - Atom name; + xkb_atom_t name; ExprDef *value; } VModDef; @@ -196,7 +168,7 @@ typedef struct _KeycodeDef ParseCommon common; unsigned merge; char name[5]; - ExprDef *value; + unsigned long value; } KeycodeDef; typedef struct _KeyAliasDef @@ -211,7 +183,7 @@ typedef struct _KeyTypeDef { ParseCommon common; unsigned merge; - Atom name; + xkb_atom_t name; VarDef *body; } KeyTypeDef; @@ -227,7 +199,7 @@ typedef struct _ModMapDef { ParseCommon common; unsigned merge; - Atom modifier; + xkb_atom_t modifier; ExprDef *keys; } ModMapDef; @@ -243,7 +215,7 @@ typedef struct _InterpDef { ParseCommon common; unsigned merge; - KeySym sym; + char *sym; ExprDef *match; VarDef *def; } InterpDef; @@ -254,134 +226,45 @@ typedef struct _IndicatorNameDef unsigned merge; int ndx; ExprDef *name; - Bool virtual; + bool virtual; } IndicatorNameDef; -typedef struct _OutlineDef -{ - ParseCommon common; - Atom field; - int nPoints; - ExprDef *points; -} OutlineDef; - -typedef struct _ShapeDef -{ - ParseCommon common; - unsigned merge; - Atom name; - int nOutlines; - OutlineDef *outlines; -} ShapeDef; - -typedef struct _KeyDef -{ - ParseCommon common; - unsigned defined; - char *name; - ExprDef *expr; -} KeyDef; - -typedef struct _RowDef -{ - ParseCommon common; - int nKeys; - KeyDef *keys; -} RowDef; - -typedef struct _SectionDef -{ - ParseCommon common; - unsigned merge; - Atom name; - int nRows; - RowDef *rows; -} SectionDef; - -typedef struct _OverlayKeyDef -{ - ParseCommon common; - char over[5]; - char under[5]; -} OverlayKeyDef; - -typedef struct _OverlayDef -{ - ParseCommon common; - unsigned merge; - Atom name; - int nKeys; - OverlayKeyDef *keys; -} OverlayDef; - -typedef struct _DoodadDef +typedef struct _IndicatorMapDef { ParseCommon common; unsigned merge; unsigned type; - Atom name; + xkb_atom_t name; VarDef *body; -} DoodadDef; - -/* IndicatorMapDef doesn't use the type field, but the rest of the fields - need to be at the same offsets as in DoodadDef. Use #define to avoid - any strict aliasing problems. */ -#define IndicatorMapDef DoodadDef +} IndicatorMapDef; typedef struct _XkbFile { ParseCommon common; - int type; + unsigned type; char *topName; char *name; ParseCommon *defs; int id; unsigned flags; - Bool compiled; } XkbFile; -extern Bool -CompileKeymap(XkbFile *file, XkbcDescPtr xkb, unsigned merge); +extern struct xkb_keymap * +CompileKeymap(struct xkb_ctx *ctx, XkbFile *file); -extern Bool -CompileKeycodes(XkbFile *file, XkbcDescPtr xkb, unsigned merge); +extern bool +CompileKeycodes(XkbFile *file, struct xkb_keymap *keymap, unsigned merge); -extern Bool -CompileGeometry(XkbFile *file, XkbcDescPtr xkb, unsigned merge); - -extern Bool -CompileKeyTypes(XkbFile *file, XkbcDescPtr xkb, unsigned merge); +extern bool +CompileKeyTypes(XkbFile *file, struct xkb_keymap *keymap, unsigned merge); typedef struct _LEDInfo *LEDInfoPtr; -extern Bool -CompileCompatMap(XkbFile *file, XkbcDescPtr xkb, unsigned merge, +extern bool +CompileCompatMap(XkbFile *file, struct xkb_keymap *keymap, unsigned merge, LEDInfoPtr *unboundLEDs); -extern Bool -CompileSymbols(XkbFile *file, XkbcDescPtr xkb, unsigned merge); - -#define WantLongListing (1<<0) -#define WantPartialMaps (1<<1) -#define WantHiddenMaps (1<<2) -#define WantFullNames (1<<3) -#define ListRecursive (1<<4) - -extern char *rootDir; -extern unsigned verboseLevel; -extern unsigned dirsToStrip; - -extern Bool AddListing(char * /* file */ , - char * /* map */ - ); - -extern Bool AddMatchingFiles(char * /* head_in */ - ); - -extern int AddMapOnly(char * /* map */ - ); - -extern int GenerateListing(char * /* filename */ - ); +extern bool +CompileSymbols(XkbFile *file, struct xkb_keymap *keymap, unsigned merge); #endif /* XKBCOMP_H */