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 9:28 AM, Chris Bagwell <chris@xxxxxxxxxxxxxx> wrote:
> 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?

Yes, 0xEF is a pen only TPC while 0xED supports one finger touch.
Thank you for reviewing the patchset.

Ping

>
> 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