Remove libxkbfile dependency for real this time
1 2 3 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
diff --git a/include/X11/extensions/XKBcommon.h b/include/X11/extensions/XKBcommon.h
index c245550..89e2009 100644
--- a/include/X11/extensions/XKBcommon.h
+++ b/include/X11/extensions/XKBcommon.h
@@ -64,24 +64,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
typedef unsigned char KeyCode;
#endif
-#define XkmFileVersion 15
-
-#define XkmIllegalFile -1
-#define XkmSemanticsFile 20
-#define XkmLayoutFile 21
-#define XkmKeymapFile 22
-#define XkmGeometryFile 23
-#define XkmRulesFile 24
-
-#define XkmTypesIndex 0
-#define XkmCompatMapIndex 1
-#define XkmSymbolsIndex 2
-#define XkmIndicatorsIndex 3
-#define XkmKeyNamesIndex 4
-#define XkmGeometryIndex 5
-#define XkmVirtualModsIndex 6
-#define XkmLastIndex XkmVirtualModsIndex
-
struct xkb_rule_names {
const char * rules;
const char * model;
diff --git a/src/XKBcommonint.h b/src/XKBcommonint.h
index c843298..def7224 100644
--- a/src/XKBcommonint.h
+++ b/src/XKBcommonint.h
@@ -44,4 +44,46 @@ authorization from the authors.
#define _XkbDupString(s) ((s) ? strdup(s) : NULL)
#define _XkbStrCaseCmp strcasecmp
+/* From XKM.h */
+#define XkmFileVersion 15
+
+#define XkmIllegalFile -1
+#define XkmSemanticsFile 20
+#define XkmLayoutFile 21
+#define XkmKeymapFile 22
+#define XkmGeometryFile 23
+#define XkmRulesFile 24
+
+#define XkmTypesIndex 0
+#define XkmCompatMapIndex 1
+#define XkmSymbolsIndex 2
+#define XkmIndicatorsIndex 3
+#define XkmKeyNamesIndex 4
+#define XkmGeometryIndex 5
+#define XkmVirtualModsIndex 6
+#define XkmLastIndex XkmVirtualModsIndex
+
+#define XkmTypesMask (1<<0)
+#define XkmCompatMapMask (1<<1)
+#define XkmSymbolsMask (1<<2)
+#define XkmIndicatorsMask (1<<3)
+#define XkmKeyNamesMask (1<<4)
+#define XkmGeometryMask (1<<5)
+#define XkmVirtualModsMask (1<<6)
+#define XkmLegalIndexMask (0x7f)
+#define XkmAllIndicesMask (0x7f)
+
+#define XkmSemanticsRequired (XkmCompatMapMask)
+#define XkmSemanticsOptional (XkmTypesMask|XkmVirtualModsMask|XkmIndicatorsMask)
+#define XkmSemanticsLegal (XkmSemanticsRequired|XkmSemanticsOptional)
+#define XkmLayoutRequired (XkmKeyNamesMask|XkmSymbolsMask|XkmTypesMask)
+#define XkmLayoutOptional (XkmVirtualModsMask|XkmGeometryMask)
+#define XkmLayoutLegal (XkmLayoutRequired|XkmLayoutOptional)
+#define XkmKeymapRequired (XkmSemanticsRequired|XkmLayoutRequired)
+#define XkmKeymapOptional ((XkmSemanticsOptional|XkmLayoutOptional)&(~XkmKeymapRequired))
+#define XkmKeymapLegal (XkmKeymapRequired|XkmKeymapOptional)
+
+#define XkmLegalSection(m) (((m)&(~XkmKeymapLegal))==0)
+#define XkmSingleSection(m) (XkmLegalSection(m)&&(((m)&(~(m)+1))==(m)))
+
#endif /* _XKBCOMMONINT_H_ */
diff --git a/src/xkbcomp/xkbcomp.h b/src/xkbcomp/xkbcomp.h
index a27ab2e..e2f677f 100644
--- a/src/xkbcomp/xkbcomp.h
+++ b/src/xkbcomp/xkbcomp.h
@@ -36,7 +36,6 @@
#include "utils.h"
-#include <X11/extensions/XKM.h>
#include "X11/extensions/XKBcommon.h"
#include "XKBcommonint.h"