Signed-off-by: Jason Gerecke <[email protected]>
---
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel