Re: [PATCH 2/2] input - wacom : add two new devices (0xed and 0xef)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 17, 2012 at 11:21 AM, Chris Bagwell <chris@xxxxxxxxxxxxxx> wrote:
> On Fri, May 11, 2012 at 8:25 PM, Ping Cheng <pinglinux@xxxxxxxxx> wrote:
>> 0xed supports pen and one finger touch; 0xef is pen only.
>>
>> Signed-off-by: Ping Cheng <pingc@xxxxxxxxx>
>> ---
>>  drivers/input/tablet/wacom_wac.c |   13 ++++++++++++-
>>  drivers/input/tablet/wacom_wac.h |    2 ++
>>  2 files changed, 14 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
>> index c40dcb7..fd0cf4d3 100644
>> --- a/drivers/input/tablet/wacom_wac.c
>> +++ b/drivers/input/tablet/wacom_wac.c
>> @@ -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 };
>
> 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.

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

>
> Is the type needed?
>
> Chris
>
>>  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) },
>> diff --git a/drivers/input/tablet/wacom_wac.h b/drivers/input/tablet/wacom_wac.h
>> index 8708043..bd5d37b 100644
>> --- a/drivers/input/tablet/wacom_wac.h
>> +++ b/drivers/input/tablet/wacom_wac.h
>> @@ -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
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux