Introduce xkb_atom_t type
[platform/upstream/libxkbcommon.git] / src / xkbmisc.h
index 16747a1..a10e6ae 100644 (file)
@@ -29,81 +29,82 @@ authorization from the authors.
 
 #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_ */