From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Chris Bagwell <chris@cnpbagwell.com>
Cc: Ping Cheng <pinglinux@gmail.com>,
linux-input@vger.kernel.org, Ping Cheng <pingc@wacom.com>
Subject: Re: [PATCH 2/4 v2] input : wacom - retrieve maximum number of touch points
Date: Tue, 31 Jan 2012 00:23:03 -0800 [thread overview]
Message-ID: <20120131082303.GB4064@core.coreip.homeip.net> (raw)
In-Reply-To: <CAGzDe_ZqstN7wOtHtVoCZNTrmg1EE9jVPUY_vWszDWV1edrSvw@mail.gmail.com>
On Mon, Jan 30, 2012 at 08:08:28PM -0600, Chris Bagwell wrote:
> On Sun, Jan 29, 2012 at 1:04 AM, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
> > On Wed, Jan 04, 2012 at 02:43:52PM -0800, Ping Cheng wrote:
> >> From the HID usage table when it is supported.
> >>
> >> Tested-by: Chris Bagwell <chris@cnpbagwell.com>
> >> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
> >> Signed-off-by: Ping Cheng <pingc@wacom.com>
> >> ---
> >>
> >> v2: updated with Chris' comments.
> >>
> >> drivers/input/tablet/wacom_sys.c | 31 ++++++++++++++++++++++++++++++-
> >> drivers/input/tablet/wacom_wac.c | 10 ++++------
> >> drivers/input/tablet/wacom_wac.h | 1 +
> >> 3 files changed, 35 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
> >> index c9588ee..f7fe091 100644
> >> --- a/drivers/input/tablet/wacom_sys.c
> >> +++ b/drivers/input/tablet/wacom_sys.c
> >> @@ -28,6 +28,7 @@
> >> #define HID_USAGE_Y_TILT 0x3e
> >> #define HID_USAGE_FINGER 0x22
> >> #define HID_USAGE_STYLUS 0x20
> >> +#define HID_USAGE_CONTACTMAX 0x55
> >> #define HID_COLLECTION 0xa1
> >> #define HID_COLLECTION_LOGICAL 0x02
> >> #define HID_COLLECTION_END 0xc0
> >> @@ -191,11 +192,30 @@ static int wacom_parse_logical_collection(unsigned char *report,
> >> features->x_max = features->y_max =
> >> get_unaligned_le16(&report[10]);
> >>
> >> + features->touch_max = 16;
> >> length = 11;
> >> }
> >> return length;
> >> }
> >>
> >> +static void wacom_retrieve_report_data(struct usb_interface *intf,
> >> + struct wacom_features *features)
> >> +{
> >> + int result = 0;
> >> + unsigned char *rep_data;
> >> +
> >> + rep_data = kmalloc(2, GFP_KERNEL);
> >> + if (!rep_data)
> >> + return;
> >> +
> >> + rep_data[0] = 12;
> >> + result = wacom_get_report(intf, WAC_HID_FEATURE_REPORT,
> >> + rep_data[0], rep_data, 2, WAC_MSG_RETRIES);
> >> +
> >> + if ((result >= 0) && (rep_data[1] > 2))
> >> + features->touch_max = rep_data[1];
> >> +}
> >> +
> >> /*
> >> * Interface Descriptor of wacom devices can be incomplete and
> >> * inconsistent so wacom_features table is used to store stylus
> >> @@ -286,16 +306,19 @@ static int wacom_parse_hid(struct usb_interface *intf,
> >> if (features->type == TABLETPC2FG) {
> >> /* need to reset back */
> >> features->pktlen = WACOM_PKGLEN_TPC2FG;
> >> + features->touch_max = 2;
> >
> > Why do we set it dynamically for devices where number of contacts is
> > constant? Or, even if it is not constant, we could seed it in the
> > features that we set in driver_info and only adjust when we encounter
> > HID_USAGE_CONTACTMAX?
> >
> > Thanks.
> >
>
> Since Ping will not be able to respond to this for a while, I will see
> if I can address your comments.
>
> It is true for other devices its fixed to 1, 2, or 16 touches and we
> can seed that with features I believe (just need to make sure the seed
> is ignored for stylus interface). I'll flush that out and resend
> updated patch.
>
> Do you still have a copy of PATCH 1/4 and have any comments? I can
> take up any comments on it at same time. I somehow deleted it but
> here is googled version:
> http://comments.gmane.org/gmane.linux.kernel.input/23163
>
> I could probably address minor comments on 3 and 4 if needed as well.
>
Chris,
I have applied patches 1 and 3; 4 had some dependencies on 2 so I am
holding off for now.
Thanks.
--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2012-01-31 8:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-04 22:43 [PATCH 2/4 v2] input : wacom - retrieve maximum number of touch points Ping Cheng
2012-01-28 2:51 ` Chris Bagwell
2012-01-29 7:04 ` Dmitry Torokhov
2012-01-31 2:08 ` Chris Bagwell
2012-01-31 8:23 ` Dmitry Torokhov [this message]
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=20120131082303.GB4064@core.coreip.homeip.net \
--to=dmitry.torokhov@gmail.com \
--cc=chris@cnpbagwell.com \
--cc=linux-input@vger.kernel.org \
--cc=pingc@wacom.com \
--cc=pinglinux@gmail.com \
/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).