diff -Naur xf86-input-wacom-0.10.3/src/wcmUSB.c xf86-input-wacom-0.10.3-patched/src/wcmUSB.c --- xf86-input-wacom-0.10.3/src/wcmUSB.c 2009-12-24 07:00:50.000000000 +0800 +++ xf86-input-wacom-0.10.3-patched/src/wcmUSB.c 2009-12-28 17:35:42.000000000 +0800 @@ -523,7 +523,7 @@ } /* vendor is wacom */ - if (sID.vendor == WACOM_VENDOR_ID) + if (WACOM_VENDOR_ID(sID.vendor)) { common->tablet_id = sID.product; @@ -756,7 +756,7 @@ else channel = 0; } - else if (serial) /* serial number should never be 0 for V5 devices */ + else { /* dual input is supported */ if ( strstr(common->wcmModel->name, "Intuos1") || @@ -849,15 +849,6 @@ if ((event->type == EV_MSC) && (event->code == MSC_SERIAL)) { - /* we don't report serial numbers for some tools - * but we never report a serial number with a value of 0 */ - if (event->value == 0) - { - xf86Msg(X_ERROR, "%s: usbParse: Ignoring event from invalid serial 0\n", - local->name); - goto skipEvent; - } - /* save the serial number so we can look up the channel number later */ common->wcmLastToolSerial = event->value; diff -Naur xf86-input-wacom-0.10.3/src/xf86Wacom.c xf86-input-wacom-0.10.3-patched/src/xf86Wacom.c --- xf86-input-wacom-0.10.3/src/xf86Wacom.c 2009-12-24 07:01:05.000000000 +0800 +++ xf86-input-wacom-0.10.3-patched/src/xf86Wacom.c 2009-12-28 17:17:17.000000000 +0800 @@ -904,7 +904,7 @@ SYSCALL(close(fd)); - if (id.vendor == WACOM_VENDOR_ID) + if (WACOM_VENDOR_ID(id.vendor)) return TRUE; else return FALSE; diff -Naur xf86-input-wacom-0.10.3/src/xf86WacomDefs.h xf86-input-wacom-0.10.3-patched/src/xf86WacomDefs.h --- xf86-input-wacom-0.10.3/src/xf86WacomDefs.h 2009-12-24 07:01:05.000000000 +0800 +++ xf86-input-wacom-0.10.3-patched/src/xf86WacomDefs.h 2009-12-28 17:24:39.000000000 +0800 @@ -26,8 +26,9 @@ #include #include #define MAX_USB_EVENTS 32 -#define WACOM_VENDOR_ID 0x056a /* vendor ID on the kernel device */ - +#define WACOM_VENDOR_ID(id) /*vendor ID on the kernel device*/ \ + id == 0x056a || /* Wacom */ \ + id == 0x172f /* Waltop */ #define DEFAULT_SUPPRESS 2 /* default suppress */ #define MAX_SUPPRESS 100 /* max value of suppress */ #define BUFFER_SIZE 256 /* size of reception buffer */