Please review proposed patch for input-wacom driver. Patch successfully tested on Lenovo X60 table with: input-wacom-40.0.8.2.2_6 X.Org Wacom tablet driver and kernel module xorg-server-1.7.5,1 X.Org X server and related programs P.S. patch derived from xf86-input-wacom-0.10.6 Thanks a lot! Fix: please review attached patch Patch attached with submission follows: How-To-Repeat: cd /usr/ports/x11-drivers/input-wacom && make install
Maintainer of x11-drivers/input-wacom, Please note that PR ports/146495 has just been submitted. If it contains a patch for an upgrade, an enhancement or a bug fix you agree on, reply to this email stating that you approve the patch and a committer will take care of it. The full text of the PR can be found at: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/146495 -- Edwin Groothuis via the GNATS Auto Assign Tool edwin@FreeBSD.org
State Changed From-To: open->feedback Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Responsible Changed From-To: freebsd-ports-bugs->miwi I'll take it.
I'm testing it. You'll probably get my thumbs up tomorrow. Thanks for the submission.
The following is your patch with some small modifications, mostly dealing with portlint complaints. Thank your for your contribution! diff -Nur input-wacom.orig/Makefile input-wacom/Makefile --- input-wacom.orig/Makefile 2010-05-13 22:00:01.000000000 +0200 +++ input-wacom/Makefile 2010-05-13 22:52:51.000000000 +0200 @@ -13,7 +13,6 @@ 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 @@ USE_GMAKE= yes USE_RC_SUBR= wacom +USE_LDCONFIG= no KMODDIR?= /boot/modules XINPUTMODDIR= lib/xorg/modules/input @@ -44,20 +44,18 @@ 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 @@ 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 @@ .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 @@ @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 @@ @${ECHO} "===> Displaying pkg-message." @${CAT} ${PKGMESSAGE} -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff -Nur input-wacom.orig/files/patch-linuxwacom-run_configure input-wacom/files/patch-linuxwacom-run_configure --- input-wacom.orig/files/patch-linuxwacom-run_configure 2010-05-13 22:00:01.000000000 +0200 +++ input-wacom/files/patch-linuxwacom-run_configure 2010-05-13 22:45:55.000000000 +0200 @@ -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 -Nur input-wacom.orig/files/patch-xorg-server-1.7 input-wacom/files/patch-xorg-server-1.7 --- input-wacom.orig/files/patch-xorg-server-1.7 1970-01-01 01:00:00.000000000 +0100 +++ input-wacom/files/patch-xorg-server-1.7 2010-05-13 22:00:07.000000000 +0200 @@ -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 */
Hello, this is ancient. Somebody commit it, pleeaaasse! I'm getting the dreaded "FreeBSD ports that you maintain which are currently marked broken" e-mail. Regards -- A: Because it fouls the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
State Changed From-To: feedback->closed Committed. Thanks!