linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Tissoires <benjamin.tissoires@enac.fr>
To: Henrik Rydberg <rydberg@euromail.se>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Jiri Kosina <jkosina@suse.cz>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 20/20] HID: hid-multitouch: Add missing contact count detection
Date: Mon, 3 Sep 2012 14:59:03 +0200	[thread overview]
Message-ID: <CAN+gG=FwXaSWN_AYnU7Vpxn4GcWYG3Bf100P0QD_8cQfEnGc7A@mail.gmail.com> (raw)
In-Reply-To: <1346528835-363-21-git-send-email-rydberg@euromail.se>

On Sat, Sep 1, 2012 at 9:47 PM, Henrik Rydberg <rydberg@euromail.se> wrote:
> Some devices report the number of contacts via the CONTACTCOUNT usage,
> rather than using the CONTACTMAX feature. Without this patch, such
> devices will be capped to ten fingers, the default maximum. Fixes a
> long-standing regression on 3M and similar panels.
>
> Cc: Benjamin Tissoires <benjamin.tissoires@enac.fr>
> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
> ---
> Since this patch looks like it could be backported as-is: In 3.6,
> maxcontacts may be modified after the slots have been initialized,
> leaving the patch harmless but ineffective.
>
>  drivers/hid/hid-multitouch.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> index eee19c9..2fc5335 100644
> --- a/drivers/hid/hid-multitouch.c
> +++ b/drivers/hid/hid-multitouch.c
> @@ -388,6 +388,8 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
>                         td->last_field_index = field->index;
>                         return 1;
>                 case HID_DG_CONTACTCOUNT:
> +                       if (td->maxcontacts < field->logical_maximum + 1)
> +                               td->maxcontacts = field->logical_maximum + 1;

Hi Henrik,

Unfortunately, this is not working. We have bad devices that present either:
- a null logical_maximum (some Stantum do) -> the value 1 is assigned
to maxcontacts, and the device is turned into a mono touch....
- an obviously wrong value (with respect to the current state of the
devices) -> Quanta devices report 255 there.... and they support only
2 touches....

And of course, 3M decided to stop sending 60 touches on their recent
devices: we have here a 0x506 device that present a contact_count of
max 60, a maximum contact feature of max 60, but whatever I'm doing,
it does not want to send more than 10 touches....

Cheers,
Benjamin

>                         td->last_field_index = field->index;
>                         return 1;
>                 case HID_DG_CONTACTMAX:
> --
> 1.7.12
>

  reply	other threads:[~2012-09-03 12:59 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-01 19:46 [PATCH v3 v3 00/20] Input and HID updates for 3.7 Henrik Rydberg
2012-09-01 19:46 ` [PATCH v3 01/20] Input: Break out MT data Henrik Rydberg
2012-09-13  5:15   ` Dmitry Torokhov
2012-09-13 17:58     ` Henrik Rydberg
2012-09-01 19:46 ` [PATCH v3 02/20] Input: Improve the events-per-packet estimate Henrik Rydberg
2012-09-13  5:16   ` Dmitry Torokhov
2012-09-01 19:46 ` [PATCH v3 03/20] Input: Make sure we follow all EV_KEY events Henrik Rydberg
2012-09-13  5:19   ` Dmitry Torokhov
2012-09-01 19:46 ` [PATCH v3 04/20] Input: Move autorepeat to the event-passing phase Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 05/20] Input: Send events one packet at a time Henrik Rydberg
2012-09-13  6:56   ` Dmitry Torokhov
2012-09-13 17:59     ` Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 06/20] Input: evdev - Add the events() callback Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 07/20] Input: MT - Add flags to input_mt_init_slots() Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 08/20] Input: MT - Handle frame synchronization in core Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 09/20] Input: MT - Add in-kernel tracking Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 10/20] Input: MT - Get slot by key Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 11/20] Input: bcm5974 - only setup button urb for TYPE1 devices Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 12/20] Input: bcm5974 - Preparatory renames Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 13/20] Input: bcm5974 - Drop pressure and width emulation Henrik Rydberg
2012-09-13  6:57   ` Dmitry Torokhov
2012-09-13 18:41     ` Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 14/20] Input: bcm5974 - Drop the logical dimensions Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 15/20] Input: bcm5974 - Convert to MT-B Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 16/20] HID: Only dump input if someone is listening Henrik Rydberg
2012-09-02  7:28   ` Jiri Kosina
2012-09-02  8:52     ` Henrik Rydberg
2012-09-03 13:17       ` Jiri Kosina
2012-09-06 20:57         ` Henrik Rydberg
2012-09-07  1:54           ` Ping Cheng
2012-09-07 12:52           ` Jiri Kosina
2012-09-10 19:02             ` Henrik Rydberg
2012-09-10 20:49               ` Jiri Kosina
2012-09-10 21:12                 ` Dmitry Torokhov
2012-09-14 19:25                   ` Henrik Rydberg
2012-09-15 15:33                     ` Input and HID updates for 3.7, version 4 Henrik Rydberg
2012-09-18 11:29                       ` Jiri Kosina
2012-09-18 16:19                         ` Henrik Rydberg
2012-09-19 16:57                           ` Dmitry Torokhov
2012-09-19 18:34                             ` Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 17/20] HID: Add an input configured notification callback Henrik Rydberg
2012-09-01 19:47 ` Henrik Rydberg
2012-09-01 19:47 ` [PATCH v3 19/20] HID: hid-multitouch: Remove the redundant touch state Henrik Rydberg
2012-09-01 19:47 ` [PATCH 20/20] HID: hid-multitouch: Add missing contact count detection Henrik Rydberg
2012-09-03 12:59   ` Benjamin Tissoires [this message]
2012-09-03 17:07     ` Henrik Rydberg
2012-09-05 15:09     ` [PATCH v2 20/20] HID: hid-multitouch: Fix contact count on 3M panels Henrik Rydberg
2012-09-03 13:00 ` [PATCH v3 v3 00/20] Input and HID updates for 3.7 Benjamin Tissoires
2012-09-03 17:08   ` Henrik Rydberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN+gG=FwXaSWN_AYnU7Vpxn4GcWYG3Bf100P0QD_8cQfEnGc7A@mail.gmail.com' \
    --to=benjamin.tissoires@enac.fr \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rydberg@euromail.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).