Discussion:
[Linuxwacom-devel] [PATCH] Support recent display devices on older kernels
Aaron Armstrong Skomra
2017-05-12 20:37:53 UTC
Permalink
Older kernels like 2.6.30 will end up with touches
interpreted as relative events unless these devices
are explicitly added.

Signed-off-by: Aaron Armstrong Skomra <***@wacom.com>
---
src/wcmUSB.c | 4 ++++
src/wcmValidateDevice.c | 8 ++++++++
2 files changed, 12 insertions(+)

diff --git a/src/wcmUSB.c b/src/wcmUSB.c
index 2f9d93f937d7..d48027915546 100644
--- a/src/wcmUSB.c
+++ b/src/wcmUSB.c
@@ -287,6 +287,10 @@ static struct WacomModelDesc
{ WACOM_VENDOR_ID, 0x57, 200000, 200000, &usbCintiqV5, "DTK2241" },
{ WACOM_VENDOR_ID, 0x59, 200000, 200000, &usbCintiqV5, "DTH2242" },
{ WACOM_VENDOR_ID, 0x5B, 200000, 200000, &usbCintiqV5, "Cintiq 22HDT" },
+ { WACOM_VENDOR_ID, 0x34D, 200000, 200000, &usbCintiqV5, "MobileStudio Pro 13" },
+ { WACOM_VENDOR_ID, 0x34E, 200000, 200000, &usbCintiqV5, "MobileStudio Pro 16" },
+ { WACOM_VENDOR_ID, 0x34F, 200000, 200000, &usbCintiqV5, "Cintiq 13 FHD Pro" },
+ { WACOM_VENDOR_ID, 0x350, 200000, 200000, &usbCintiqV5, "Cintiq 16 UHD Pro" },

{ WACOM_VENDOR_ID, 0x90, 100000, 100000, &usbTabletPC, "TabletPC 0x90" },
{ WACOM_VENDOR_ID, 0x93, 100000, 100000, &usbTabletPC, "TabletPC 0x93" },
diff --git a/src/wcmValidateDevice.c b/src/wcmValidateDevice.c
index 0b8387c3614c..d2a77238c729 100644
--- a/src/wcmValidateDevice.c
+++ b/src/wcmValidateDevice.c
@@ -309,6 +309,14 @@ int wcmDeviceTypeKeys(InputInfoPtr pInfo)
case 0x5D: /* DTH2242 Touch */
case 0x5E: /* Cintiq 22HDT Touch */
case 0x304:/* Cintiq 13HD */
+ case 0x34A:/* MobileStudio Pro 13 Touch */
+ case 0x34B:/* MobileStudio Pro 16 Touch */
+ case 0x34D:/* MobileStudio Pro 13 */
+ case 0x34E:/* MobileStudio Pro 13 */
+ case 0x34F:/* Cintiq Pro 13 FHD */
+ case 0x350:/* Cintiq Pro 16 UHD */
+ case 0x353:/* Cintiq Pro 13 FHD Touch */
+ case 0x354:/* Cintiq Pro 13 UHD Touch */
TabletSetFeature(priv->common, WCM_LCD);
break;
}
--
2.7.4
Peter Hutterer
2017-05-15 00:17:25 UTC
Permalink
Post by Aaron Armstrong Skomra
Older kernels like 2.6.30 will end up with touches
interpreted as relative events unless these devices
are explicitly added.
---
src/wcmUSB.c | 4 ++++
src/wcmValidateDevice.c | 8 ++++++++
2 files changed, 12 insertions(+)
diff --git a/src/wcmUSB.c b/src/wcmUSB.c
index 2f9d93f937d7..d48027915546 100644
--- a/src/wcmUSB.c
+++ b/src/wcmUSB.c
@@ -287,6 +287,10 @@ static struct WacomModelDesc
{ WACOM_VENDOR_ID, 0x57, 200000, 200000, &usbCintiqV5, "DTK2241" },
{ WACOM_VENDOR_ID, 0x59, 200000, 200000, &usbCintiqV5, "DTH2242" },
{ WACOM_VENDOR_ID, 0x5B, 200000, 200000, &usbCintiqV5, "Cintiq 22HDT" },
+ { WACOM_VENDOR_ID, 0x34D, 200000, 200000, &usbCintiqV5, "MobileStudio Pro 13" },
+ { WACOM_VENDOR_ID, 0x34E, 200000, 200000, &usbCintiqV5, "MobileStudio Pro 16" },
+ { WACOM_VENDOR_ID, 0x34F, 200000, 200000, &usbCintiqV5, "Cintiq 13 FHD Pro" },
+ { WACOM_VENDOR_ID, 0x350, 200000, 200000, &usbCintiqV5, "Cintiq 16 UHD Pro" },
{ WACOM_VENDOR_ID, 0x90, 100000, 100000, &usbTabletPC, "TabletPC 0x90" },
{ WACOM_VENDOR_ID, 0x93, 100000, 100000, &usbTabletPC, "TabletPC 0x93" },
diff --git a/src/wcmValidateDevice.c b/src/wcmValidateDevice.c
index 0b8387c3614c..d2a77238c729 100644
--- a/src/wcmValidateDevice.c
+++ b/src/wcmValidateDevice.c
@@ -309,6 +309,14 @@ int wcmDeviceTypeKeys(InputInfoPtr pInfo)
case 0x5D: /* DTH2242 Touch */
case 0x5E: /* Cintiq 22HDT Touch */
case 0x304:/* Cintiq 13HD */
+ case 0x34A:/* MobileStudio Pro 13 Touch */
+ case 0x34B:/* MobileStudio Pro 16 Touch */
+ case 0x34D:/* MobileStudio Pro 13 */
+ case 0x34E:/* MobileStudio Pro 13 */
+ case 0x34F:/* Cintiq Pro 13 FHD */
+ case 0x350:/* Cintiq Pro 16 UHD */
+ case 0x353:/* Cintiq Pro 13 FHD Touch */
+ case 0x354:/* Cintiq Pro 13 UHD Touch */
aren't some of these missing from the list above? do they need to be added
there too?

Cheers,
Peter
Post by Aaron Armstrong Skomra
TabletSetFeature(priv->common, WCM_LCD);
break;
}
--
2.7.4
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxwacom-devel mailing list
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
Aaron Armstrong Skomra
2017-05-15 16:59:51 UTC
Permalink
On Sun, May 14, 2017 at 5:17 PM, Peter Hutterer
Post by Peter Hutterer
Post by Aaron Armstrong Skomra
Older kernels like 2.6.30 will end up with touches
interpreted as relative events unless these devices
are explicitly added.
---
src/wcmUSB.c | 4 ++++
src/wcmValidateDevice.c | 8 ++++++++
2 files changed, 12 insertions(+)
diff --git a/src/wcmUSB.c b/src/wcmUSB.c
index 2f9d93f937d7..d48027915546 100644
--- a/src/wcmUSB.c
+++ b/src/wcmUSB.c
@@ -287,6 +287,10 @@ static struct WacomModelDesc
{ WACOM_VENDOR_ID, 0x57, 200000, 200000, &usbCintiqV5, "DTK2241" },
{ WACOM_VENDOR_ID, 0x59, 200000, 200000, &usbCintiqV5, "DTH2242" },
{ WACOM_VENDOR_ID, 0x5B, 200000, 200000, &usbCintiqV5, "Cintiq 22HDT" },
+ { WACOM_VENDOR_ID, 0x34D, 200000, 200000, &usbCintiqV5, "MobileStudio Pro 13" },
+ { WACOM_VENDOR_ID, 0x34E, 200000, 200000, &usbCintiqV5, "MobileStudio Pro 16" },
+ { WACOM_VENDOR_ID, 0x34F, 200000, 200000, &usbCintiqV5, "Cintiq 13 FHD Pro" },
+ { WACOM_VENDOR_ID, 0x350, 200000, 200000, &usbCintiqV5, "Cintiq 16 UHD Pro" },
{ WACOM_VENDOR_ID, 0x90, 100000, 100000, &usbTabletPC, "TabletPC 0x90" },
{ WACOM_VENDOR_ID, 0x93, 100000, 100000, &usbTabletPC, "TabletPC 0x93" },
diff --git a/src/wcmValidateDevice.c b/src/wcmValidateDevice.c
index 0b8387c3614c..d2a77238c729 100644
--- a/src/wcmValidateDevice.c
+++ b/src/wcmValidateDevice.c
@@ -309,6 +309,14 @@ int wcmDeviceTypeKeys(InputInfoPtr pInfo)
case 0x5D: /* DTH2242 Touch */
case 0x5E: /* Cintiq 22HDT Touch */
case 0x304:/* Cintiq 13HD */
+ case 0x34A:/* MobileStudio Pro 13 Touch */
+ case 0x34B:/* MobileStudio Pro 16 Touch */
+ case 0x34D:/* MobileStudio Pro 13 */
+ case 0x34E:/* MobileStudio Pro 13 */
+ case 0x34F:/* Cintiq Pro 13 FHD */
+ case 0x350:/* Cintiq Pro 16 UHD */
+ case 0x353:/* Cintiq Pro 13 FHD Touch */
+ case 0x354:/* Cintiq Pro 13 UHD Touch */
aren't some of these missing from the list above? do they need to be added
there too?
Hi Peter,

The list in wcmUSB.c doesn't have any PIDs from the touch side. I don't know
the history of why the PIDs are in one list but not the other.

Best,
Aaron
Post by Peter Hutterer
Cheers,
Peter
Post by Aaron Armstrong Skomra
TabletSetFeature(priv->common, WCM_LCD);
break;
}
--
2.7.4
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxwacom-devel mailing list
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
Ping Cheng
2017-05-15 18:56:50 UTC
Permalink
On Mon, May 15, 2017 at 9:59 AM, Aaron Armstrong Skomra
Post by Aaron Armstrong Skomra
On Sun, May 14, 2017 at 5:17 PM, Peter Hutterer
Post by Peter Hutterer
Post by Aaron Armstrong Skomra
Older kernels like 2.6.30 will end up with touches
interpreted as relative events unless these devices
are explicitly added.
---
src/wcmUSB.c | 4 ++++
src/wcmValidateDevice.c | 8 ++++++++
2 files changed, 12 insertions(+)
diff --git a/src/wcmUSB.c b/src/wcmUSB.c
index 2f9d93f937d7..d48027915546 100644
--- a/src/wcmUSB.c
+++ b/src/wcmUSB.c
@@ -287,6 +287,10 @@ static struct WacomModelDesc
{ WACOM_VENDOR_ID, 0x57, 200000, 200000, &usbCintiqV5, "DTK2241" },
{ WACOM_VENDOR_ID, 0x59, 200000, 200000, &usbCintiqV5, "DTH2242" },
{ WACOM_VENDOR_ID, 0x5B, 200000, 200000, &usbCintiqV5, "Cintiq 22HDT" },
+ { WACOM_VENDOR_ID, 0x34D, 200000, 200000, &usbCintiqV5, "MobileStudio Pro 13" },
+ { WACOM_VENDOR_ID, 0x34E, 200000, 200000, &usbCintiqV5, "MobileStudio Pro 16" },
+ { WACOM_VENDOR_ID, 0x34F, 200000, 200000, &usbCintiqV5, "Cintiq 13 FHD Pro" },
+ { WACOM_VENDOR_ID, 0x350, 200000, 200000, &usbCintiqV5, "Cintiq 16 UHD Pro" },
{ WACOM_VENDOR_ID, 0x90, 100000, 100000, &usbTabletPC, "TabletPC 0x90" },
{ WACOM_VENDOR_ID, 0x93, 100000, 100000, &usbTabletPC, "TabletPC 0x93" },
diff --git a/src/wcmValidateDevice.c b/src/wcmValidateDevice.c
index 0b8387c3614c..d2a77238c729 100644
--- a/src/wcmValidateDevice.c
+++ b/src/wcmValidateDevice.c
@@ -309,6 +309,14 @@ int wcmDeviceTypeKeys(InputInfoPtr pInfo)
case 0x5D: /* DTH2242 Touch */
case 0x5E: /* Cintiq 22HDT Touch */
case 0x304:/* Cintiq 13HD */
+ case 0x34A:/* MobileStudio Pro 13 Touch */
+ case 0x34B:/* MobileStudio Pro 16 Touch */
+ case 0x34D:/* MobileStudio Pro 13 */
+ case 0x34E:/* MobileStudio Pro 13 */
+ case 0x34F:/* Cintiq Pro 13 FHD */
+ case 0x350:/* Cintiq Pro 16 UHD */
+ case 0x353:/* Cintiq Pro 13 FHD Touch */
+ case 0x354:/* Cintiq Pro 13 UHD Touch */
aren't some of these missing from the list above? do they need to be added
there too?
Hi Peter,
The list in wcmUSB.c doesn't have any PIDs from the touch side. I don't know
the history of why the PIDs are in one list but not the other.
The reason was that we didn't back-port touch support to
input-wacom/2.6.30 for multi-touch (MT) devices initially. We thought
2.6.30 doesn't support true MT anyway. But, we later had to add
2-figure touch support by using _DOUBLETAP and _TRIPPLETAP to make
Tablet PC users happy. That's why those Cintiqs were ignored in X
driver since we focused on the solution for Tablet PC. Cintiq touch
was only a by-product...

With that said, it makes sense to add touch PIDs to the list.

Cheers,
Ping

Loading...