diff options
author | Martin Wilke <miwi@FreeBSD.org> | 2010-07-10 10:07:57 +0000 |
---|---|---|
committer | Martin Wilke <miwi@FreeBSD.org> | 2010-07-10 10:07:57 +0000 |
commit | 19d6ff198ba849f33c2851588a738e83b80f6c87 (patch) | |
tree | 8190fc6434b4429e86dc63c42921a1e4af51e7c4 /x11-drivers | |
parent | Pass maintainership to multimedia@; needs update and several things maintained (diff) |
- Unbreak with Xorg 1.7X
PR: 146495 (based on)
Submitted by: Alex Deiter <alex.deiter@gmail.com>
Approved by: maintainer
Notes
Notes:
svn path=/head/; revision=257603
Diffstat (limited to 'x11-drivers')
-rw-r--r-- | x11-drivers/input-wacom/Makefile | 33 | ||||
-rw-r--r-- | x11-drivers/input-wacom/files/patch-linuxwacom-run_configure | 16 | ||||
-rw-r--r-- | x11-drivers/input-wacom/files/patch-xorg-server-1.7 | 387 |
3 files changed, 412 insertions, 24 deletions
diff --git a/x11-drivers/input-wacom/Makefile b/x11-drivers/input-wacom/Makefile index afe5bc97070b..1f53c5e27afa 100644 --- a/x11-drivers/input-wacom/Makefile +++ b/x11-drivers/input-wacom/Makefile @@ -13,7 +13,6 @@ MASTER_SITES= http://www.chillt.de/bsdwacom/:bsdwacom \ SF/linuxwacom/linuxwacom/${WACOM_VERSION}:linuxwacom DISTFILES= ${BSDWACOM}.tbz:bsdwacom \ ${LINUXWACOM}.tar.bz2:linuxwacom -EXTRACT_ONLY= ${BSDWACOM}.tbz MAINTAINER= kamikaze@bsdforen.de COMMENT= X.Org Wacom tablet driver and kernel module @@ -23,6 +22,7 @@ MANCOMPRESSED= yes USE_GMAKE= yes USE_RC_SUBR= wacom +USE_LDCONFIG= no KMODDIR?= /boot/modules XINPUTMODDIR= lib/xorg/modules/input @@ -44,20 +44,18 @@ BSDWACOM= bsdwacom-${KLD_VERSION} WACOM_VERSION= 0.8.2-2 KLD_VERSION= 40 -.include <bsd.port.pre.mk> +OPTIONS= UWACOMKLD "Install USB kernel module (ignored on 8.x)" ${KMOD_SUPPORTED} + +.include <bsd.port.options.mk> .if ${OSVERSION} >= 800064 -OPTIONS= UWACOMKLD "Install USB kernel module (not supported on 8.x)" Off +KMOD_SUPPORTED= Off +.undef WITH_UWACOMKLD .else -OPTIONS= UWACOMKLD "Install USB kernel module (not supported on 8.x)" On +KMOD_SUPPORTED= On .endif -.include <bsd.port.options.mk> - .if defined(WITH_UWACOMKLD) -.if ${OSVERSION} >= 800064 -BROKEN= does not build with USB support -.endif PLIST_SUB+= UWACOMKLD="uwacom.ko" PORTTYPE= usb .else @@ -65,19 +63,18 @@ PLIST_SUB+= UWACOMKLD="@noinst UWACOMKLD uwacom.ko" PORTTYPE= serial .endif -BROKEN= build failed +post-patch: + @${LN} -s ../${LINUXWACOM} ${WRKDIR}/linuxwacom/ do-configure: - @cd ${WRKDIR}/linuxwacom \ - && ${LN} -s ${DISTDIR}/${DIST_SUBDIR}/${LINUXWACOM}.tar.bz2 \ - && ${SETENV} ${MAKE_ENV} ./run_configure + @cd ${WRKDIR}/linuxwacom && ${SETENV} ${MAKE_ENV} ./run_configure do-build: .if defined(WITH_UWACOMKLD) @cd ${WRKDIR}/uwacom \ && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} .endif - @cd ${WRKDIR}/linuxwacom/${LINUXWACOM} \ + @cd ${WRKDIR}/${LINUXWACOM} \ && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_ARGS} do-install: @@ -87,7 +84,7 @@ do-install: .endif @${MKDIR} ${PREFIX}/${XINPUTMODDIR} ${PREFIX}/${MAN4DIR} @cd ${WRKDIR}/linuxwacom/${LINUXWACOM}/src/util/ \ - && ${SETENV} ${MAKE_ENV} ${GMAKE} install + && ${SETENV} ${MAKE_ENV} ${GMAKE} ${INSTALL_TARGET} @${INSTALL} ${WRKDIR}/linuxwacom/${LINUXWACOM}/src/xdrv/wacom_drv.so \ ${PREFIX}/${XINPUTMODDIR}/ @${INSTALL_MAN} ${WRKDIR}/linuxwacom/${LINUXWACOM}/src/wacom.4x.gz \ @@ -100,8 +97,8 @@ plist: clean configure @cd ${WRKDIR}/linuxwacom \ && ${SETENV} ${MAKE_ENV} PREFIX=${WRKDIR}/plist ./run_configure @${MKDIR} ${WRKDIR}/plist - @cd ${WRKDIR}/linuxwacom/${LINUXWACOM}/src/util \ - && ${SETENV} ${MAKE_ENV} ${GMAKE} install + @cd ${WRKDIR}/${LINUXWACOM}/src/util \ + && ${SETENV} ${MAKE_ENV} ${GMAKE} ${INSTALL_TARGET} @cd ${WRKDIR}/linuxwacom \ && ${SETENV} ${MAKE_ENV} ./run_configure @${FIND} ${WRKDIR}/plist/ -not -type d \ @@ -119,4 +116,4 @@ post-install: @${ECHO} "===> Displaying pkg-message." @${CAT} ${PKGMESSAGE} -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/x11-drivers/input-wacom/files/patch-linuxwacom-run_configure b/x11-drivers/input-wacom/files/patch-linuxwacom-run_configure index 2f4dccc9f09e..ed6a08602df8 100644 --- a/x11-drivers/input-wacom/files/patch-linuxwacom-run_configure +++ b/x11-drivers/input-wacom/files/patch-linuxwacom-run_configure @@ -1,17 +1,21 @@ ---- linuxwacom/run_configure.orig 2009-01-21 11:26:52.000000000 +0100 -+++ linuxwacom/run_configure 2009-01-21 11:27:00.000000000 +0100 -@@ -1,7 +1,7 @@ +--- linuxwacom/run_configure.orig 2008-12-26 02:09:57.000000000 +0100 ++++ linuxwacom/run_configure 2010-05-13 22:44:05.000000000 +0200 +@@ -1,10 +1,8 @@ #!/bin/sh # $Id: run_configure 40 2008-12-26 01:08:35Z undo $ -LINUXWACOM=0.8.2 +LINUXWACOM=0.8.2-2 - rm -rf linuxwacom-${LINUXWACOM} - tar xf linuxwacom-${LINUXWACOM}.tar.bz2 -@@ -14,5 +14,5 @@ +-rm -rf linuxwacom-${LINUXWACOM} +-tar xf linuxwacom-${LINUXWACOM}.tar.bz2 + mkdir linuxwacom-${LINUXWACOM}/src/util/asm + mkdir linuxwacom-${LINUXWACOM}/src/util/linux + mkdir linuxwacom-${LINUXWACOM}/src/xdrv/asm +@@ -14,5 +12,5 @@ cp files/types.h linuxwacom-${LINUXWACOM}/src/xdrv/asm cp files/input.h linuxwacom-${LINUXWACOM}/src/xdrv/linux cd linuxwacom-${LINUXWACOM} -./configure --with-linux=yes --with-tcl=/usr/local/include/tcl8.4 --with-tk=/usr/local/include/tk8.4 --prefix=${PREFIX} --enable-dlloader CFLAGS="-I/usr/local/include" +./configure --with-linux=yes --with-tcl=/usr/local/include/tcl8.4 --with-tk=/usr/local/include/tk8.4 --prefix=${PREFIX} --enable-dlloader CFLAGS="-I/usr/local/include -DWCM_XORG_XSERVER_1_6=true" + diff --git a/x11-drivers/input-wacom/files/patch-xorg-server-1.7 b/x11-drivers/input-wacom/files/patch-xorg-server-1.7 new file mode 100644 index 000000000000..33304360ec98 --- /dev/null +++ b/x11-drivers/input-wacom/files/patch-xorg-server-1.7 @@ -0,0 +1,387 @@ +--- linuxwacom-0.8.2-2/src/xdrv/wcmCommon.c.orig 2009-01-19 21:58:37.000000000 +0300 ++++ linuxwacom-0.8.2-2/src/xdrv/wcmCommon.c 2010-05-11 17:25:41.265742759 +0400 +@@ -19,6 +19,8 @@ + + #include "xf86Wacom.h" + #include "../include/Xwacom.h" ++#include <xkbsrv.h> ++#include <xf86_OSproc.h> + + /* + #if XF86_VERSION_MAJOR < 4 +@@ -277,7 +279,7 @@ + bsent = 0; + + /* send all pressed buttons down */ +- for (button=2; button<=MAX_BUTTONS; button++) ++ for (button=2; button<=WCM_MAX_BUTTONS; button++) + { + mask = 1 << (button-1); + if ( buttons & mask ) +@@ -302,7 +304,7 @@ + else + { + bsent = 0; +- for (button=2; button<=MAX_BUTTONS; button++) ++ for (button=2; button<=WCM_MAX_BUTTONS; button++) + { + mask = 1 << (button-1); + if ((mask & priv->oldButtons) != (mask & buttons)) +@@ -333,7 +335,7 @@ + priv->flags &= ~TPCBUTTONS_FLAG; + + /* send all pressed buttons up */ +- for (button=2; button<=MAX_BUTTONS; button++) ++ for (button=2; button<=WCM_MAX_BUTTONS; button++) + { + mask = 1 << (button-1); + if ((mask & priv->oldButtons) != (mask & buttons) || (mask & buttons) ) +@@ -356,7 +358,7 @@ + } + else /* normal buttons */ + { +- for (button=1; button<=MAX_BUTTONS; button++) ++ for (button=1; button<=WCM_MAX_BUTTONS; button++) + { + mask = 1 << (button-1); + if ((mask & priv->oldButtons) != (mask & buttons)) +@@ -405,7 +407,11 @@ + int i, j, alt_keysym = 0; + + /* Now that we have the keycode look for key index */ ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ KeySymsRec *ksr = XkbGetCoreMap(keydev); ++#else + KeySymsRec *ksr = &keydev->key->curKeySyms; ++#endif + + for (i = ksr->minKeyCode; i <= ksr->maxKeyCode; i++) + if (ksr->map [(i - ksr->minKeyCode) * ksr->mapWidth] == keysym) +@@ -443,11 +449,17 @@ + xf86PostKeyboardEvent (keydev, j, 0); + } + else +- xf86Msg (X_WARNING, "Couldn't find key with code %08x on keyboard device %s\n", +- keysym, keydev->name); ++ xf86Msg (X_WARNING, "%s: Couldn't find key with code %08x on keyboard device %s\n", ++ keydev->name, keysym, keydev->name); ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ xfree(ksr); ++#endif + return; + } + xf86PostKeyboardEvent (keydev, i, state); ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ xfree(ksr); ++#endif + } + + static int wcm_modifier [ ] = +--- linuxwacom-0.8.2-2/src/xdrv/wcmConfig.c.orig 2009-01-19 21:58:37.000000000 +0300 ++++ linuxwacom-0.8.2-2/src/xdrv/wcmConfig.c 2010-05-11 17:27:43.775135419 +0400 +@@ -136,15 +136,15 @@ + priv->nPressCtrl [3] = 100; /* pressure curve y1 */ + + /* Default button and expresskey values */ +- for (i=0; i<MAX_BUTTONS; i++) ++ for (i=0; i<WCM_MAX_BUTTONS; i++) + priv->button[i] = IsPad (priv) ? +- (AC_BUTTON | (MAX_MOUSE_BUTTONS/2 + i + 1)) : (AC_BUTTON | (i + 1)); ++ (AC_BUTTON | (WCM_MAX_MOUSE_BUTTONS/2 + i + 1)) : (AC_BUTTON | (i + 1)); + +- for (i=0; i<MAX_BUTTONS; i++) ++ for (i=0; i<WCM_MAX_BUTTONS; i++) + for (j=0; j<256; j++) + priv->keys[i][j] = 0; + +- priv->nbuttons = MAX_BUTTONS; /* Default number of buttons */ ++ priv->nbuttons = WCM_MAX_BUTTONS; /* Default number of buttons */ + priv->relup = 5; /* Default relative wheel up event */ + priv->reldn = 4; /* Default relative wheel down event */ + +@@ -859,7 +859,7 @@ + } + + +- for (i=0; i<MAX_BUTTONS; i++) ++ for (i=0; i<WCM_MAX_BUTTONS; i++) + { + sprintf(b, "Button%d", i+1); + s = xf86SetStrOption(local->options, b, NULL); +--- linuxwacom-0.8.2-2/src/xdrv/wcmUSB.c.orig 2009-01-19 21:58:37.000000000 +0300 ++++ linuxwacom-0.8.2-2/src/xdrv/wcmUSB.c 2010-05-11 17:30:02.434108111 +0400 +@@ -1064,7 +1064,7 @@ + for (nkeys = 0; nkeys < common->npadkeys; nkeys++) + if (event->code == common->padkey_code [nkeys]) + { +- MOD_BUTTONS ((MAX_MOUSE_BUTTONS/2+nkeys), event->value); ++ MOD_BUTTONS ((WCM_MAX_MOUSE_BUTTONS/2+nkeys), event->value); + break; + } + } +--- linuxwacom-0.8.2-2/src/xdrv/xf86Wacom.c.orig 2009-01-19 21:58:37.000000000 +0300 ++++ linuxwacom-0.8.2-2/src/xdrv/xf86Wacom.c 2010-05-11 17:28:07.865752615 +0400 +@@ -84,6 +84,14 @@ + #include "xf86Wacom.h" + #include "wcmFilter.h" + ++#include <xf86_OSproc.h> ++#include <exevents.h> ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++#include <xserver-properties.h> ++#include <X11/extensions/XKB.h> ++#include <xkbsrv.h> ++#endif ++ + static int xf86WcmDevOpen(DeviceIntPtr pWcm); + static void xf86WcmDevReadInput(LocalDevicePtr local); + static void xf86WcmDevControlProc(DeviceIntPtr device, PtrCtrl* ctrl); +@@ -290,7 +298,11 @@ + resolution = (int)((double)resolution * priv->factorX + 0.5); + #endif + +- InitValuatorAxisStruct(local->dev, 0, topx, tabletSize, ++ InitValuatorAxisStruct(local->dev, 0, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X), ++#endif ++ topx, tabletSize, + resolution, 0, resolution); + } + else /* y ax */ +@@ -317,7 +329,11 @@ + resolution = (int)((double)resolution * priv->factorY + 0.5); + #endif + +- InitValuatorAxisStruct(local->dev, 1, topy, tabletSize, ++ InitValuatorAxisStruct(local->dev, 1, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y), ++#endif ++ topy, tabletSize, + resolution, 0, resolution); + } + } +@@ -523,9 +539,13 @@ + { + WacomDevicePtr priv = (WacomDevicePtr)local->private; + WacomCommonPtr common = priv->common; +- CARD8 butmap[MAX_BUTTONS+1]; ++ CARD8 butmap[WCM_MAX_BUTTONS+1]; + int nbaxes, nbbuttons, nbkeys; + int loop; ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ Atom btn_labels[WCM_MAX_BUTTONS] = {0}; ++ Atom axis_labels[MAX_VALUATORS] = {0}; ++#endif + + /* Detect tablet configuration, if possible */ + if (priv->common->wcmModel->DetectConfig) +@@ -552,7 +572,11 @@ + for(loop=1; loop<=nbbuttons; loop++) + butmap[loop] = loop; + +- if (InitButtonClassDeviceStruct(local->dev, nbbuttons, butmap) == FALSE) ++ if (InitButtonClassDeviceStruct(local->dev, nbbuttons, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ btn_labels, ++#endif ++ butmap) == FALSE) + { + ErrorF("unable to allocate Button class device\n"); + return FALSE; +@@ -581,15 +605,13 @@ + nbaxes = priv->naxes = 6; + + if (InitValuatorClassDeviceStruct(local->dev, nbaxes, +-#if WCM_XINPUTABI_MAJOR == 0 +- xf86GetMotionEvents, +- local->history_size, +-#else ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ axis_labels, ++#endif + #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 3 + GetMotionHistory, + #endif + GetMotionHistorySize(), +-#endif + ((priv->flags & ABSOLUTE_FLAG) ? + Absolute : Relative) | + OutOfProximity ) == FALSE) +@@ -602,7 +624,7 @@ + /* only initial KeyClass and LedFeedbackClass once */ + if (!priv->wcmInitKeyClassCount) + { +-#ifdef WCM_KEY_SENDING_SUPPORT ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 5 + if (nbkeys) + { + KeySymsRec wacom_keysyms; +@@ -641,19 +663,37 @@ + } + } + +-#ifndef WCM_XFREE86 + if(InitKbdFeedbackClassDeviceStruct(local->dev, xf86WcmBellCallback, + xf86WcmKbdCtrlCallback) == FALSE) { + ErrorF("unable to init kbd feedback device struct\n"); + return FALSE; + } ++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ if (InitKeyboardDeviceStruct(local->dev, NULL, NULL, xf86WcmKbdCtrlCallback)) { ++#define SYMS_PER_KEY 2 ++ KeySymsRec syms; ++ CARD8 modmap[MAP_LENGTH]; ++ int num_keys = XkbMaxLegalKeyCode - XkbMinLegalKeyCode + 1; + ++ syms.map = keymap; ++ syms.mapWidth = SYMS_PER_KEY; ++ syms.minKeyCode = XkbMinLegalKeyCode; ++ syms.maxKeyCode = XkbMaxLegalKeyCode; ++ ++ memset(modmap, 0, sizeof(modmap)); ++ modmap[XkbMinLegalKeyCode + 2] = ShiftMask; ++ XkbApplyMappingChange(local->dev, &syms, syms.minKeyCode, num_keys, NULL, // modmap, ++ serverClient); ++ } else ++ { ++ xf86Msg(X_ERROR, "%s: unable to init kbd device struct\n ", local->name); ++ return FALSE; ++ } ++#endif + if(InitLedFeedbackClassDeviceStruct (local->dev, xf86WcmKbdLedCallback) == FALSE) { + ErrorF("unable to init led feedback device struct\n"); + return FALSE; + } +-#endif /* WCM_XFREE86 */ +-#endif /* WCM_KEY_SENDING_SUPPORT */ + } + + #if WCM_XINPUTABI_MAJOR == 0 +@@ -672,42 +712,81 @@ + xf86WcmRotateScreen(local, common->wcmRotate); + + /* pressure */ +- InitValuatorAxisStruct(local->dev, 2, 0, +- common->wcmMaxZ, 1, 1, 1); ++ InitValuatorAxisStruct(local->dev, 2, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ XIGetKnownProperty(AXIS_LABEL_PROP_ABS_PRESSURE), ++#endif ++ 0, common->wcmMaxZ, 1, 1, 1); + + if (IsCursor(priv)) + { + /* z-rot and throttle */ +- InitValuatorAxisStruct(local->dev, 3, -900, 899, 1, 1, 1); +- InitValuatorAxisStruct(local->dev, 4, -1023, 1023, 1, 1, 1); ++ InitValuatorAxisStruct(local->dev, 3, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ XIGetKnownProperty(AXIS_LABEL_PROP_ABS_RZ), ++#endif ++ -900, 899, 1, 1, 1); ++ InitValuatorAxisStruct(local->dev, 4, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ XIGetKnownProperty(AXIS_LABEL_PROP_ABS_THROTTLE), ++#endif ++ -1023, 1023, 1, 1, 1); + } + else if (IsPad(priv)) + { + /* strip-x and strip-y */ + if (priv->naxes) + { +- InitValuatorAxisStruct(local->dev, 3, 0, common->wcmMaxStripX, 1, 1, 1); +- InitValuatorAxisStruct(local->dev, 4, 0, common->wcmMaxStripY, 1, 1, 1); ++ InitValuatorAxisStruct(local->dev, 3, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ 0, /* XXX what is this axis?*/ ++#endif ++ 0, common->wcmMaxStripX, 1, 1, 1); ++ InitValuatorAxisStruct(local->dev, 4, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ 0, /* XXX what is this axis?*/ ++#endif ++ 0, common->wcmMaxStripY, 1, 1, 1); + } + } + else + { + /* tilt-x and tilt-y */ +- InitValuatorAxisStruct(local->dev, 3, -64, 63, 1, 1, 1); +- InitValuatorAxisStruct(local->dev, 4, -64, 63, 1, 1, 1); ++ InitValuatorAxisStruct(local->dev, 3, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ XIGetKnownProperty(AXIS_LABEL_PROP_ABS_TILT_X), ++#endif ++ -64, 63, 1, 1, 1); ++ InitValuatorAxisStruct(local->dev, 4, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ XIGetKnownProperty(AXIS_LABEL_PROP_ABS_TILT_Y), ++#endif ++ -64, 63, 1, 1, 1); + } + + if ((strstr(common->wcmModel->name, "Intuos3") || + strstr(common->wcmModel->name, "CintiqV5")) + && IsStylus(priv)) + /* Art Marker Pen rotation */ +- InitValuatorAxisStruct(local->dev, 5, -900, 899, 1, 1, 1); ++ InitValuatorAxisStruct(local->dev, 5, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ 0, /* XXX what is this axis?*/ ++#endif ++ -900, 899, 1, 1, 1); + else if (strstr(common->wcmModel->name, "Bamboo") && IsPad(priv)) +- InitValuatorAxisStruct(local->dev, 5, 0, 71, 1, 1, 1); ++ InitValuatorAxisStruct(local->dev, 5, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ 0, /* XXX what is this axis?*/ ++#endif ++ 0, 71, 1, 1, 1); + else + { + /* absolute wheel */ +- InitValuatorAxisStruct(local->dev, 5, 0, 1023, 1, 1, 1); ++ InitValuatorAxisStruct(local->dev, 5, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ XIGetKnownProperty(AXIS_LABEL_PROP_ABS_WHEEL), ++#endif ++ 0, 1023, 1, 1, 1); + } + + if (IsTouch(priv)) +--- linuxwacom-0.8.2-2/src/xdrv/xf86WacomDefs.h.orig 2009-01-19 21:58:37.000000000 +0300 ++++ linuxwacom-0.8.2-2/src/xdrv/xf86WacomDefs.h 2010-05-11 17:28:56.624883674 +0400 +@@ -125,8 +125,8 @@ + #define IsPad(priv) (DEVICE_ID((priv)->flags) == PAD_ID) + + #define FILTER_PRESSURE_RES 2048 /* maximum points in pressure curve */ +-#define MAX_BUTTONS 32 /* maximum number of tablet buttons */ +-#define MAX_MOUSE_BUTTONS 16 /* maximum number of buttons-on-pointer ++#define WCM_MAX_BUTTONS 32 /* maximum number of tablet buttons */ ++#define WCM_MAX_MOUSE_BUTTONS 16 /* maximum number of buttons-on-pointer + * (which are treated as mouse buttons, + * not as keys like tablet menu buttons). + * For backword compability support, +@@ -161,8 +161,8 @@ + int screenBottomY[32]; /* bottom cordinate of the associated screen */ + int maxWidth; /* max active screen width */ + int maxHeight; /* max active screen height */ +- int button[MAX_BUTTONS];/* buttons assignments */ +- unsigned keys[MAX_BUTTONS][256]; /* keystrokes assigned to buttons */ ++ int button[WCM_MAX_BUTTONS];/* buttons assignments */ ++ unsigned keys[WCM_MAX_BUTTONS][256]; /* keystrokes assigned to buttons */ + int relup; + unsigned rupk[256]; /* keystrokes assigned to relative wheel up event (default is button 4) */ + int reldn; +@@ -386,7 +386,7 @@ + + int nbuttons; /* total number of buttons */ + int npadkeys; /* number of pad keys in the above array */ +- int padkey_code[MAX_BUTTONS];/* hardware codes for buttons */ ++ int padkey_code[WCM_MAX_BUTTONS];/* hardware codes for buttons */ + + WacomDevicePtr wcmDevices; /* list of devices sharing same port */ + int wcmPktLength; /* length of a packet */ |