Signed-off-by: Jason Gerecke <killert...@gmail.com> --- src/util/60-wacom.rules | 5 +++++ src/util/wacusb.c | 11 +++++++++++ src/xdrv/wcmCommon.c | 3 ++- src/xdrv/wcmUSB.c | 22 ++++++++++++++++++++++ src/xdrv/xf86Wacom.c | 6 ++++-- 5 files changed, 44 insertions(+), 3 deletions(-)
diff --git a/src/util/60-wacom.rules b/src/util/60-wacom.rules index a7142ee..a9c5cfc 100644 --- a/src/util/60-wacom.rules +++ b/src/util/60-wacom.rules @@ -85,6 +85,11 @@ ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00ba", SYMLINK+="input/tablet-intuos ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00bb", SYMLINK+="input/tablet-intuos4-12x19" ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00bc", SYMLINK+="input/tablet-intuos4-wl-usb" ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00bd", SYMLINK+="input/tablet-intuos4-wl" +ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0026", SYMLINK+="input/tablet-intuos5-touch-s" +ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0027", SYMLINK+="input/tablet-intuos5-touch-m" +ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0028", SYMLINK+="input/tablet-intuos5-touch-l" +ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0029", SYMLINK+="input/tablet-intuos5-s" +ATTRS{idVendor}=="056a", ATTRS{idProduct}=="002a", SYMLINK+="input/tablet-intuos5-m" ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00c0", SYMLINK+="input/tablet-dtf521" ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00c4", SYMLINK+="input/tablet-dtf720" ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00c5", SYMLINK+="input/tablet-cintiq20wsx" diff --git a/src/util/wacusb.c b/src/util/wacusb.c index 2013eb2..f848ded 100755 --- a/src/util/wacusb.c +++ b/src/util/wacusb.c @@ -317,6 +317,16 @@ static int USBIdentifyModel(USBTABLET* pUSB); { NULL } }; + static USBSUBTYPE xIntuos5[] = + { + { "PTH-450", "Wacom Intuos5 touch S", 1, 0x26 }, + { "PTH-650", "Wacom Intuos5 touch M", 2, 0x27 }, + { "PTH-850", "Wacom Intuos5 touch L", 3, 0x28 }, + { "PTK-450", "Wacom Intuos5 S", 4, 0x29 }, + { "PTK-650", "Wacom Intuos5 M", 5, 0x2A }, + { NULL } + }; + static USBDEVICE xWacomDevices[] = { { "pp", "PenPartner", WACOMDEVICE_PENPARTNER, xPenPartner, 1 }, @@ -328,6 +338,7 @@ static int USBIdentifyModel(USBTABLET* pUSB); { "int2", "Intuos2", WACOMDEVICE_INTUOS2, xIntuos2, 2 }, { "int3", "Intuos3", WACOMDEVICE_INTUOS3, xIntuos3, 2 }, { "int4", "Intuos4", WACOMDEVICE_INTUOS3, xIntuos4, 2 }, + { "int5", "Intuos5", WACOMDEVICE_INTUOS3, xIntuos5, 2 }, { "ctq", "Cintiq (V5)", WACOMDEVICE_CINTIQV5, xCintiqV5, 2 }, { "pl", "Cintiq (PL)", WACOMDEVICE_CINTIQ, xCintiq, 1 }, { "ptu", "Cintiq Partner (PTU)", WACOMDEVICE_PTU, xCintiqPartner, 1 }, diff --git a/src/xdrv/wcmCommon.c b/src/xdrv/wcmCommon.c index e896dd6..e8f037d 100755 --- a/src/xdrv/wcmCommon.c +++ b/src/xdrv/wcmCommon.c @@ -490,7 +490,8 @@ static void sendWheelStripEvents(LocalDevicePtr local, const WacomDeviceState* d value = priv->oldWheel - ds->abswheel; if ((strstr(common->wcmModel->name, "Bamboo") || strstr(common->wcmModel->name, "Intuos4") || - strstr(common->wcmModel->name, "CintiqV5")) + strstr(common->wcmModel->name, "CintiqV5") || + strstr(common->wcmModel->name, "Intuos5")) && IsPad(priv)) { /* deal with MAX_FINGER_WHEEL to 0 and 0 to MAX_FINGER_WHEEL switching */ diff --git a/src/xdrv/wcmUSB.c b/src/xdrv/wcmUSB.c index 67bd421..05c80f1 100755 --- a/src/xdrv/wcmUSB.c +++ b/src/xdrv/wcmUSB.c @@ -307,6 +307,22 @@ static void usbParseChannel(LocalDevicePtr local, int channel); usbDetectConfig, /* detect hardware buttons etc */ }; + static WacomModel usbIntuos5 = + { + "USB Intuos5", + usbInitProtocol5, + NULL, /* resolution not queried */ + usbWcmGetRanges, + NULL, /* reset not supported */ + NULL, /* tilt automatically enabled */ + NULL, /* suppress implemented in software */ + NULL, /* link speed unsupported */ + NULL, /* start not supported */ + usbParse, + xf86WcmFilterIntuos, /* input filtering recommended */ + usbDetectConfig, /* detect hardware buttons etc */ + }; + static WacomModel usbVolito = { "USB Volito", @@ -498,6 +514,12 @@ static struct { 0xBC, 5080, 5080, &usbIntuos4 }, /* Intuos4 WL USB Endpoint */ { 0xBD, 5080, 5080, &usbIntuos4 }, /* Intuos4 WL Bluetooth Endpoint */ + { 0x26, 5080, 5080, &usbIntuos5 }, /* Intuos5 touch S */ + { 0x27, 5080, 5080, &usbIntuos5 }, /* Intuos5 touch M */ + { 0x28, 5080, 5080, &usbIntuos5 }, /* Intuos5 touch L */ + { 0x29, 5080, 5080, &usbIntuos5 }, /* Intuos5 S */ + { 0x2A, 5080, 5080, &usbIntuos5 }, /* Intuos5 M */ + { 0x3F, 5080, 5080, &usbCintiqV5 }, /* Cintiq 21UX */ { 0xF4, 5080, 5080, &usbCintiqV5 }, /* Cintiq 24HD */ { 0xC5, 5080, 5080, &usbCintiqV5 }, /* Cintiq 20WSX */ diff --git a/src/xdrv/xf86Wacom.c b/src/xdrv/xf86Wacom.c index 509bce2..145a7e8 100755 --- a/src/xdrv/xf86Wacom.c +++ b/src/xdrv/xf86Wacom.c @@ -535,12 +535,14 @@ static int xf86WcmRegisterX11Devices (LocalDevicePtr local) if ((strstr(common->wcmModel->name, "Intuos3") || strstr(common->wcmModel->name, "CintiqV5") || - strstr(common->wcmModel->name, "Intuos4")) + strstr(common->wcmModel->name, "Intuos4") || + strstr(common->wcmModel->name, "Intuos5")) && IsStylus(priv)) /* Art Marker Pen rotation */ InitValuatorAxisStruct(local->dev, 5, 0, FILTER_PRESSURE_RES, 1, 1, 1); else if ((strstr(common->wcmModel->name, "Bamboo") || - strstr(common->wcmModel->name, "Intuos4")) + strstr(common->wcmModel->name, "Intuos4") || + strstr(common->wcmModel->name, "Intuos5")) && IsPad(priv)) /* Touch ring */ InitValuatorAxisStruct(local->dev, 5, 0, MAX_FINGER_WHEEL, 1, 1, 1); -- 1.7.9.5 ------------------------------------------------------------------------------ Better than sec? Nothing is better than sec when it comes to monitoring Big Data applications. Try Boundary one-second resolution app monitoring today. Free. http://p.sf.net/sfu/Boundary-dev2dev _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel