#include <X11/X.h>
#include <X11/Xdefs.h>
-#include <X11/extensions/XKBstrcommon.h>
-#include <X11/extensions/XKBrulescommon.h>
-#include "X11/extensions/XKBcommon.h"
+#include "xkbcommon/xkbcommon.h"
-extern char *
-XkbcKeysymToString(KeySym ks);
-
-extern KeySym
-XkbcStringToKeysym(const char *s);
+typedef uint32_t xkb_atom_t;
/***====================================================================***/
extern Bool
-XkbcComputeEffectiveMap(XkbcDescPtr xkb, XkbKeyTypePtr type,
+XkbcComputeEffectiveMap(struct xkb_desc * xkb, struct xkb_key_type * type,
unsigned char *map_rtrn);
/***====================================================================***/
extern int
-XkbcInitCanonicalKeyTypes(XkbcDescPtr xkb, unsigned which, int keypadVMod);
+XkbcInitCanonicalKeyTypes(struct xkb_desc * xkb, unsigned which, int keypadVMod);
extern Bool
-XkbcVirtualModsToReal(XkbcDescPtr xkb, unsigned virtual_mask,
+XkbcVirtualModsToReal(struct xkb_desc * xkb, unsigned virtual_mask,
unsigned *mask_rtrn);
extern void
XkbcEnsureSafeMapName(char *name);
extern unsigned
-_XkbcKSCheckCase(KeySym sym);
+_XkbcKSCheckCase(xkb_keysym_t sym);
+
+#define _XkbKSLower (1 << 0)
+#define _XkbKSUpper (1 << 1)
#define XkbcKSIsLower(k) (_XkbcKSCheckCase(k) & _XkbKSLower)
#define XkbcKSIsUpper(k) (_XkbcKSCheckCase(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 Bool
+XkbcNameMatchesPattern(char *name, char *ptrn);
+
/***====================================================================***/
+extern xkb_atom_t
+xkb_intern_atom(const char *string);
+
extern char *
-XkbcAtomGetString(Atom atom);
+XkbcAtomGetString(xkb_atom_t atom);
-extern Atom
-XkbcInternAtom(char *name, Bool onlyIfExists);
+extern void
+XkbcFreeAllAtoms(void);
/***====================================================================***/
-extern char *
-XkbcAtomText(Atom atm);
+extern const char *
+XkbcAtomText(xkb_atom_t atm);
-extern char *
-XkbcVModIndexText(XkbcDescPtr xkb, unsigned ndx);
+extern const char *
+XkbcVModMaskText(struct xkb_desc * xkb, unsigned modMask, unsigned mask);
-extern char *
-XkbcVModMaskText(XkbcDescPtr xkb, unsigned modMask, unsigned mask);
-
-extern char *
+extern const char *
XkbcModIndexText(unsigned ndx);
-extern char *
+extern const char *
XkbcModMaskText(unsigned mask, Bool cFormat);
-extern char *
+extern const char *
XkbcConfigText(unsigned config);
-extern char *
-XkbcGeomFPText(int val);
-
-extern char *
+extern const char *
XkbcActionTypeText(unsigned type);
-extern char *
-XkbcKeysymText(KeySym sym);
+extern const char *
+XkbcKeysymText(xkb_keysym_t sym);
-extern char *
+extern const char *
XkbcKeyNameText(char *name);
-extern char *
+extern const char *
XkbcSIMatchText(unsigned type);
#endif /* _XKBMISC_H_ */