Re: [PATCH] Use TipSwitch for Touch

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

 



Hi,

Maybe off-topic, but what about the support of Bamboo multitouch
devices from Wacom ?
http://www.wacom.com/bamboo/

M-I


On Wed, Apr 14, 2010 at 8:32 AM, Dmitry Torokhov
<dmitry.torokhov@xxxxxxxxx> wrote:
> On Wed, Apr 14, 2010 at 01:04:54AM -0400, Rafi Rubin wrote:
>> TipSwitch is a better match for touch.  Confidence and InRange work
>> for more current firmwares, but with some older versions only
>> TipSwitch is appropriate.
>>
>> Signed-off-by: Rafi Rubin <rafi@xxxxxxxxxxxxxx>
>> ---
>>  drivers/hid/hid-ntrig.c |   27 +++++++++++++++++++--------
>>  1 files changed, 19 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/hid/hid-ntrig.c b/drivers/hid/hid-ntrig.c
>> index 58ba0d3..071f86d 100644
>> --- a/drivers/hid/hid-ntrig.c
>> +++ b/drivers/hid/hid-ntrig.c
>> @@ -31,10 +31,12 @@ struct ntrig_data {
>>       /* Incoming raw values for a single contact */
>>       __u16 x, y, w, h;
>>       __u16 id;
>> -     __u8 confidence;
>> +
>> +     bool tipswitch;
>> +     bool confidence;
>> +     bool first_contact_touch;
>>
>>       bool reading_mt;
>> -     __u8 first_contact_confidence;
>>
>>       __u8 mt_footer[4];
>>       __u8 mt_foot_count;
>> @@ -141,9 +143,10 @@ static int ntrig_event (struct hid_device *hid, struct hid_field *field,
>>               case 0xff000001:
>>                       /* Tag indicating the start of a multitouch group */
>>                       nd->reading_mt = 1;
>> -                     nd->first_contact_confidence = 0;
>> +                     nd->first_contact_touch = 0;
>>                       break;
>>               case HID_DG_TIPSWITCH:
>> +                     nd->tipswitch = value;
>>                       /* Prevent emission of touch until validated */
>>                       return 1;
>>               case HID_DG_CONFIDENCE:
>> @@ -171,10 +174,17 @@ static int ntrig_event (struct hid_device *hid, struct hid_field *field,
>>                        * to emit a normal (X, Y) position
>>                        */
>>                       if (!nd->reading_mt) {
>> -                             input_report_key(input, BTN_TOOL_DOUBLETAP,
>> -                                              (nd->confidence != 0));
>> +                             /*
>> +                              * TipSwitch indicates the presence of a
>> +                              * finger.  Touch is the preferred event for
>> +                              * downstream support.  DoubleTap is also
>> +                              * emitted to support proper operation with
>> +                              * the wacom X driver (for now).
>> +                              */
>
> I am not sure if we want to propagate unfortunate event selection in
> wacom drievr into other drivers. Any chance you could lend Ping hand in
> adding proper multitouch support to wacom X driver instead?
>
> --
> Dmitry
> --
> 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