Use common XKB headers and add common type XkbcDescRec
authorDan Nicholson <dbn.lists@gmail.com>
Fri, 20 Mar 2009 00:16:13 +0000 (17:16 -0700)
committerDan Nicholson <dbn.lists@gmail.com>
Fri, 20 Mar 2009 00:16:13 +0000 (17:16 -0700)
Switched to the common XKB headers which don't contain Xlib pollution.
A new common keyboard description type, XkbcDescRec, has been added.
This is the XkbDescRec definitions in xkbstr.h in the xserver since it
contains the defined field we'll need.

configure.ac
include/X11/XkbCommon.h

index 85ba79c..b03baa4 100644 (file)
@@ -48,7 +48,7 @@ if test "x$CC_FOR_BUILD" = x; then
     fi
 fi
 
-PKG_CHECK_MODULES([X11], [xproto])
+PKG_CHECK_MODULES([X11], [xproto kbproto >= 1.0.99.1])
 
 dnl Ensure we have keysym headers
 AC_MSG_CHECKING([for X11 includedir])
index 16cca77..416817d 100644 (file)
@@ -29,7 +29,26 @@ authorization from the authors.
 #define _XKBCOMMON_H_
 
 #include <X11/X.h>
+#include <X11/Xdefs.h>
 #include <X11/keysymdef.h>
+#include <X11/extensions/XKBstrcommon.h>
+
+/* Common keyboard description structure */
+typedef struct _XkbcDesc {
+    unsigned int        defined;
+    unsigned short      flags;
+    unsigned short      device_spec;
+    KeyCode             min_key_code;
+    KeyCode             max_key_code;
+
+    XkbControlsPtr      ctrls;
+    XkbServerMapPtr     server;
+    XkbClientMapPtr     map;
+    XkbIndicatorPtr     indicators;
+    XkbNamesPtr         names;
+    XkbCompatMapPtr     compat;
+    XkbGeometryPtr      geom;
+} XkbcDescRec, *XkbcDescPtr;
 
 extern char *
 XkbcKeysymToString(KeySym ks);