input - wacom : add two new devices (0xed and 0xef)
Subsystems (2)
PATCH 2/2 input - wacom : add two new devices (0xed and 0xef)
0xed supports pen and one finger touch; 0xef is pen only.
--- drivers/input/tablet/wacom_wac.c | 13 ++++++++++++- drivers/input/tablet/wacom_wac.h | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-)
drivers/input/tablet/wacom_wac.c +12 -1
@@ -888,7 +888,7 @@ static int wacom_tpc_single_touch(struct wacom_wac *wacom, size_t len) prox = data[0 ] &0x01 ; x =get_unaligned_le16 (&data[1 ]); y =get_unaligned_le16 (&data[3 ]); - }else {/* with capacity */ + }else { prox = data[1 ] &0x01 ; x =le16_to_cpup ((__le16 *)&data[2 ]); y =le16_to_cpup ((__le16 *)&data[4 ]);
@@ -961,6 +961,7 @@ static int wacom_tpc_irq(struct wacom_wac *wacom, size_t len)case WACOM_REPORT_TPC1FG :case WACOM_REPORT_TPCHID :case WACOM_REPORT_TPCST : +case WACOM_REPORT_TPC1FGE :return wacom_tpc_single_touch (wacom, len);case WACOM_REPORT_TPCMT :
@@ -1244,6 +1245,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len)break ;case TABLETPC : +case TABLETPCE :case TABLETPC2FG :case MTSCREEN : sync =wacom_tpc_irq (wacom_wac, len);
@@ -1569,6 +1571,7 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev,/* fall through */ case TABLETPC : +case TABLETPCE :__clear_bit (ABS_MISC , input_dev->absbit);__set_bit (INPUT_PROP_DIRECT , input_dev->propbit);
@@ -1886,6 +1889,12 @@ static const struct wacom_features wacom_features_0xE6 =static const struct wacom_features wacom_features_0xEC = {"Wacom ISDv4 EC" ,WACOM_PKGLEN_GRAPHIRE ,25710 ,14500 ,255 ,0 ,TABLETPC ,WACOM_INTUOS_RES ,WACOM_INTUOS_RES }; +static const struct wacom_features wacom_features_0xED = + {"Wacom ISDv4 ED" ,WACOM_PKGLEN_GRAPHIRE ,26202 ,16325 ,255 , +0 ,TABLETPCE ,WACOM_INTUOS_RES ,WACOM_INTUOS_RES }; +static const struct wacom_features wacom_features_0xEF = + {"Wacom ISDv4 EF" ,WACOM_PKGLEN_GRAPHIRE ,26202 ,16325 ,255 , +0 ,TABLETPC ,WACOM_INTUOS_RES ,WACOM_INTUOS_RES };static const struct wacom_features wacom_features_0x47 = {"Wacom Intuos2 6x8" ,WACOM_PKGLEN_INTUOS ,20320 ,16240 ,1023 ,31 ,INTUOS ,WACOM_INTUOS_RES ,WACOM_INTUOS_RES };
@@ -2060,6 +2069,8 @@ const struct usb_device_id wacom_ids[] = { { USB_DEVICE_WACOM(0xE5) }, { USB_DEVICE_WACOM(0xE6) }, { USB_DEVICE_WACOM(0xEC) }, + { USB_DEVICE_WACOM(0xED) }, + { USB_DEVICE_WACOM(0xEF) }, { USB_DEVICE_WACOM(0x47) }, { USB_DEVICE_WACOM(0xF4) }, { USB_DEVICE_LENOVO(0x6004) },
drivers/input/tablet/wacom_wac.h +2 -0
@@ -48,6 +48,7 @@#define WACOM_REPORT_TPCMT 13#define WACOM_REPORT_TPCHID 15#define WACOM_REPORT_TPCST 16 +#define WACOM_REPORT_TPC1FGE 18/* device quirks */ #define WACOM_QUIRK_MULTI_INPUT 0x0001
@@ -80,6 +81,7 @@ enum {WIRELESS ,BAMBOO_PT ,TABLETPC ,/* add new TPC below */ +TABLETPCE ,TABLETPC2FG ,MTSCREEN ,MAX_TYPE
Signature · 1 line
1.7.9.5
Quoted 49 lines · Ping Cheng
0xedsupports pen and one finger touch;0xefis pen only.Signed-off-by Ping Cheng <[email protected]>---
drivers/input/tablet/wacom_wac.c | 13 ++++++++++++-drivers/input/tablet/wacom_wac.h| 2 ++2 files changed, 14 insertions(+), 1 deletion(-)drivers/input/tablet/wacom_wac.c +1
-1@@ -888,7 +888,7 @@ static int wacom_tpc_single_touch(struct wacom_wac *wacom, size_t len) prox = data[0] & 0x01; x = get_unaligned_le16(&data[1]); y = get_unaligned_le16(&data[3]); - } else { /* with capacity */ + } else { prox = data[1] & 0x01; x = le16_to_cpup((__le16 *)&data[2]); y = le16_to_cpup((__le16 *)&data[4]);@@ -961,6 +961,7 @@ static int wacom_tpc_irq(struct wacom_wac *wacom, size_t len)case
WACOM_REPORT_TPC1FG:
caseWACOM_REPORT_TPCHID:
caseWACOM_REPORT_TPCST:
+ caseWACOM_REPORT_TPC1FGE:
returnwacom_tpc_single_touch(wacom, len);case
WACOM_REPORT_TPCMT:drivers/input/tablet/wacom_wac.c +0
-0@@ -1244,6 +1245,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len) break;case TABLETPC:
+ case TABLETPCE:
case TABLETPC2FG:
case MTSCREEN:
sync =wacom_tpc_irq(wacom_wac, len);drivers/input/tablet/wacom_wac.c +0
-0@@ -1569,6 +1571,7 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev, /* fall through */case TABLETPC:
+ case TABLETPCE:
__clear_bit(ABS_MISC,input_dev->absbit);__set_bit(INPUT_PROP_DIRECT,
input_dev->propbit);drivers/input/tablet/wacom_wac.c +0
-0@@ -1886,6 +1889,12 @@ static const struct wacom_features wacom_features_0xE6 =static const struct
wacom_featureswacom_features_0xEC=
{ "Wacom ISDv4 EC",WACOM_PKGLEN_GRAPHIRE, 25710, 14500, 255, 0, TABLETPC, WACOM_INTUOS_RES,WACOM_INTUOS_RES};
drivers/input/tablet/wacom_wac.c static const struct wacom_features wacom_features_0xE6 = · line 1897
Quoted 6 lines
drivers/input/tablet/wacom_wac.c +6
-0+static const struct wacom_features wacom_features_0xED = + { "Wacom ISDv4 ED", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, + 0, TABLETPCE, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; +static const struct wacom_features wacom_features_0xEF = + { "Wacom ISDv4 EF", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, + 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
I can't find reason why you've created a TABLETPCE. I was looking for some sort of logic that hit's "if (type <= TABLETPC" that your trying to avoid on 0xED but I couldn't find it.
Is the type needed?
Chris
Quoted 35 lines
static const struct
wacom_featureswacom_features_0x47=
{ "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023, 31, INTUOS,WACOM_INTUOS_RES,WACOM_INTUOS_RES};drivers/input/tablet/wacom_wac.c +2
-0@@ -2060,6 +2069,8 @@ const struct usb_device_id wacom_ids[] = { { USB_DEVICE_WACOM(0xE5) }, { USB_DEVICE_WACOM(0xE6) }, { USB_DEVICE_WACOM(0xEC) }, + { USB_DEVICE_WACOM(0xED) }, + { USB_DEVICE_WACOM(0xEF) }, { USB_DEVICE_WACOM(0x47) }, { USB_DEVICE_WACOM(0xF4) }, { USB_DEVICE_LENOVO(0x6004) },drivers/input/tablet/wacom_wac.h +1
-0@@ -48,6 +48,7 @@ #define WACOM_REPORT_TPCMT 13 #define WACOM_REPORT_TPCHID 15 #define WACOM_REPORT_TPCST 16 +#define WACOM_REPORT_TPC1FGE 18 /* device quirks */ #define WACOM_QUIRK_MULTI_INPUT 0x0001@@ -80,6 +81,7 @@ enum { WIRELESS, BAMBOO_PT,TABLETPC, /* add new TPC below */
+ TABLETPCE,
TABLETPC2FG,
MTSCREEN,
MAX_TYPE
--
1.7.9.5
Quoted 4 lines
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 45 lines · Chris Bagwell
Quoted 44 lines · Ping Cheng
0xedsupports pen and one finger touch;0xefis pen only.Signed-off-by Ping Cheng <[email protected]>---
drivers/input/tablet/wacom_wac.c | 13 ++++++++++++-drivers/input/tablet/wacom_wac.h| 2 ++2 files changed, 14 insertions(+), 1 deletion(-)drivers/input/tablet/wacom_wac.c +1
-1@@ -888,7 +888,7 @@ static int wacom_tpc_single_touch(struct wacom_wac *wacom, size_t len) prox = data[0] & 0x01; x = get_unaligned_le16(&data[1]); y = get_unaligned_le16(&data[3]); - } else { /* with capacity */ + } else { prox = data[1] & 0x01; x = le16_to_cpup((__le16 *)&data[2]); y = le16_to_cpup((__le16 *)&data[4]);@@ -961,6 +961,7 @@ static int wacom_tpc_irq(struct wacom_wac *wacom, size_t len)case
WACOM_REPORT_TPC1FG:
caseWACOM_REPORT_TPCHID:
caseWACOM_REPORT_TPCST:
+ caseWACOM_REPORT_TPC1FGE:
returnwacom_tpc_single_touch(wacom, len);case
WACOM_REPORT_TPCMT:drivers/input/tablet/wacom_wac.c +0
-0@@ -1244,6 +1245,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len) break;case TABLETPC:
+ case TABLETPCE:
case TABLETPC2FG:
case MTSCREEN:
sync =wacom_tpc_irq(wacom_wac, len);drivers/input/tablet/wacom_wac.c +0
-0@@ -1569,6 +1571,7 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev, /* fall through */case TABLETPC:
+ case TABLETPCE:
__clear_bit(ABS_MISC,input_dev->absbit);
Quoted 15 lines
drivers/input/tablet/wacom_wac.c static const struct wacom_features wacom_features_0xE6 = · line 1897
Quoted 11 lines
__set_bit(INPUT_PROP_DIRECT,
input_dev->propbit);drivers/input/tablet/wacom_wac.c +0
-0@@ -1886,6 +1889,12 @@ static const struct wacom_features wacom_features_0xE6 =static const struct
wacom_featureswacom_features_0xEC=
{ "Wacom ISDv4 EC",WACOM_PKGLEN_GRAPHIRE, 25710, 14500, 255, 0, TABLETPC, WACOM_INTUOS_RES,WACOM_INTUOS_RES};drivers/input/tablet/wacom_wac.c +6
-0+static const struct wacom_features wacom_features_0xED = + { "Wacom ISDv4 ED", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, + 0, TABLETPCE, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; +static const struct wacom_features wacom_features_0xEF = + { "Wacom ISDv4 EF", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, + 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };I can't find reason why you've created a TABLETPCE. I was looking for some sort of logic that hit's "if (type <= TABLETPC" that your trying to avoid on
0xEDbut I couldn't find it.
In response to myself, I think I found the difference. A value of TABLETPC would avoid calling the Wacom PEN Packet mode on PEN device; which a lot of TPC avoid doing.
Just to be safe though, was it on purpose that 0xEF is a TABLETPC?
Chris
Quoted 40 lines
Is the type needed?
Chris
Quoted 35 lines
static const struct
wacom_featureswacom_features_0x47=
{ "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023, 31, INTUOS,WACOM_INTUOS_RES,WACOM_INTUOS_RES};drivers/input/tablet/wacom_wac.c +2
-0@@ -2060,6 +2069,8 @@ const struct usb_device_id wacom_ids[] = { { USB_DEVICE_WACOM(0xE5) }, { USB_DEVICE_WACOM(0xE6) }, { USB_DEVICE_WACOM(0xEC) }, + { USB_DEVICE_WACOM(0xED) }, + { USB_DEVICE_WACOM(0xEF) }, { USB_DEVICE_WACOM(0x47) }, { USB_DEVICE_WACOM(0xF4) }, { USB_DEVICE_LENOVO(0x6004) },drivers/input/tablet/wacom_wac.h +1
-0@@ -48,6 +48,7 @@ #define WACOM_REPORT_TPCMT 13 #define WACOM_REPORT_TPCHID 15 #define WACOM_REPORT_TPCST 16 +#define WACOM_REPORT_TPC1FGE 18 /* device quirks */ #define WACOM_QUIRK_MULTI_INPUT 0x0001@@ -80,6 +81,7 @@ enum { WIRELESS, BAMBOO_PT,TABLETPC, /* add new TPC below */
+ TABLETPCE,
TABLETPC2FG,
MTSCREEN,
MAX_TYPE
--
1.7.9.5
Quoted 4 lines
Quoted 4 lines
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 62 lines · Chris Bagwell
Quoted 45 lines · Chris Bagwell
Quoted 44 lines · Ping Cheng
0xedsupports pen and one finger touch;0xefis pen only.Signed-off-by Ping Cheng <[email protected]>---
drivers/input/tablet/wacom_wac.c | 13 ++++++++++++-drivers/input/tablet/wacom_wac.h| 2 ++2 files changed, 14 insertions(+), 1 deletion(-)drivers/input/tablet/wacom_wac.c +1
-1@@ -888,7 +888,7 @@ static int wacom_tpc_single_touch(struct wacom_wac *wacom, size_t len) prox = data[0] & 0x01; x = get_unaligned_le16(&data[1]); y = get_unaligned_le16(&data[3]); - } else { /* with capacity */ + } else { prox = data[1] & 0x01; x = le16_to_cpup((__le16 *)&data[2]); y = le16_to_cpup((__le16 *)&data[4]);@@ -961,6 +961,7 @@ static int wacom_tpc_irq(struct wacom_wac *wacom, size_t len)case
WACOM_REPORT_TPC1FG:
caseWACOM_REPORT_TPCHID:
caseWACOM_REPORT_TPCST:
+ caseWACOM_REPORT_TPC1FGE:
returnwacom_tpc_single_touch(wacom, len);case
WACOM_REPORT_TPCMT:drivers/input/tablet/wacom_wac.c +0
-0@@ -1244,6 +1245,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len) break;case TABLETPC:
+ case TABLETPCE:
case TABLETPC2FG:
case MTSCREEN:
sync =wacom_tpc_irq(wacom_wac, len);drivers/input/tablet/wacom_wac.c +0
-0@@ -1569,6 +1571,7 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev, /* fall through */case TABLETPC:
+ case TABLETPCE:
__clear_bit(ABS_MISC,input_dev->absbit);Quoted 15 lines
drivers/input/tablet/wacom_wac.c static const struct wacom_features wacom_features_0xE6 = · line 1897
Quoted 11 lines
__set_bit(INPUT_PROP_DIRECT,
input_dev->propbit);drivers/input/tablet/wacom_wac.c +0
-0@@ -1886,6 +1889,12 @@ static const struct wacom_features wacom_features_0xE6 =static const struct
wacom_featureswacom_features_0xEC=
{ "Wacom ISDv4 EC",WACOM_PKGLEN_GRAPHIRE, 25710, 14500, 255, 0, TABLETPC, WACOM_INTUOS_RES,WACOM_INTUOS_RES};drivers/input/tablet/wacom_wac.c +6
-0+static const struct wacom_features wacom_features_0xED = + { "Wacom ISDv4 ED", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, + 0, TABLETPCE, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; +static const struct wacom_features wacom_features_0xEF = + { "Wacom ISDv4 EF", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, + 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };I can't find reason why you've created a TABLETPCE. I was looking for some sort of logic that hit's "if (type <= TABLETPC" that your trying to avoid on
0xEDbut I couldn't find it.
Quoted 5 lines
In response to myself, I think I found the difference. A value of TABLETPC would avoid calling the Wacom PEN Packet mode on PEN device; which a lot of TPC avoid doing.
Just to be safe though, was it on purpose that
0xEFis a TABLETPC?
Yes, 0xEF is a pen only TPC while 0xED supports one finger touch. Thank you for reviewing the patchset.
Ping
Quoted 43 lines
Chris
Quoted 40 lines
Is the type needed?
Chris
Quoted 35 lines
static const struct
wacom_featureswacom_features_0x47=
{ "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023, 31, INTUOS,WACOM_INTUOS_RES,WACOM_INTUOS_RES};drivers/input/tablet/wacom_wac.c +2
-0@@ -2060,6 +2069,8 @@ const struct usb_device_id wacom_ids[] = { { USB_DEVICE_WACOM(0xE5) }, { USB_DEVICE_WACOM(0xE6) }, { USB_DEVICE_WACOM(0xEC) }, + { USB_DEVICE_WACOM(0xED) }, + { USB_DEVICE_WACOM(0xEF) }, { USB_DEVICE_WACOM(0x47) }, { USB_DEVICE_WACOM(0xF4) }, { USB_DEVICE_LENOVO(0x6004) },drivers/input/tablet/wacom_wac.h +1
-0@@ -48,6 +48,7 @@ #define WACOM_REPORT_TPCMT 13 #define WACOM_REPORT_TPCHID 15 #define WACOM_REPORT_TPCST 16 +#define WACOM_REPORT_TPC1FGE 18 /* device quirks */ #define WACOM_QUIRK_MULTI_INPUT 0x0001@@ -80,6 +81,7 @@ enum { WIRELESS, BAMBOO_PT,TABLETPC, /* add new TPC below */
+ TABLETPCE,
TABLETPC2FG,
MTSCREEN,
MAX_TYPE
--
1.7.9.5
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html