linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Breton M. Saunders" <bms20@brettnet.eu>
To: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Cc: linux-input <linux-input@vger.kernel.org>
Subject: Re: HID input dealing with multiple collections?
Date: Mon, 09 Sep 2013 15:01:14 +0100	[thread overview]
Message-ID: <522DD4AA.3020501@brettnet.eu> (raw)
In-Reply-To: <CAN+gG=ELptZsD37P9XMAgbLCFt-yZVbgmbGrk+mLvT6G2raKLQ@mail.gmail.com>

On 09/09/13 14:12, Benjamin Tissoires wrote:
> Hi,
>
> On Mon, Sep 9, 2013 at 2:56 PM, Breton M. Saunders <bms20@brettnet.eu> wrote:
>> Hello,
>>
>>    I've written a USB device which supports multiple input devices:
>>      * A touch surface digitizer (following Microsoft's specification)
>>      * A pen surface digitizer
>>      * A mouse emulator
>>
>>    In windows each of these interfaces are exposed as a separate top level
>> collection, e.g.:
>>    Usage_Page(Generic Desktop)
>>    Usage(Mouse)
>>    Collection(Application)
>>         ...
>>    End_Collection
>>    Usage_Page(Digitzer)
>>    Usage(Touch_Screen)
>>    Collection(Application)
>>       ...
>>    End_Collection
>>    Usage(Digitizer)
>>    Usage(Pen)
>>    Collection(Application)
>>       ...
>>    End_Collection
>>
>>    Now this descriptor works well in Windows; all reporting channels are
>> exposed correctly as hid devices and mouse/multitouch/pen input all works
>> correctly as expected.  In linux, however, this is not the case.  What I see
>> is that if I drop out the touch/pen functionality then the mouse support
>> works correctly.  Likewise, if I drop any pair of other top level
>> collections such that I have exactly one top level collection the system
>> works correctly.
>>
>>    Am I missing something here - as in: Have I made an error in my usage of
>> top level collections, or is linux-input's hid support incapable of dealing
>> with multiple top level collections?
> If it works under Windows, there are huge chances that your report
> descriptor is good.
>
> However, under Linux, we use the report IDs to split (if required) the
> different inputs.
> The good thing for you is that if I understand correctly, the device
> you are talking about should be handled through hid-multitouch. Since
> kernel v3.10, we have introduced the support of devices showing both a
> digitizer and a pen (they will show up as two input devices).
>
> I would encourage you to test a 3.10 kernel, and/or send me some
> traces of your devices by using hid-replay[1]. This way I will be able
> to test your device on my laptop, and eventually figure out any
> problem.
>
> Cheers,
Hi Benjamin,

   Thanks for the quick reply.

   3.10 is a no-go for me; I need to get this working on a vanilla (or 
upgraded) version of Ubuntu 12.04; so something more like kernel version 
3.2.  (Unfortunately, its what people are using in the field).

   I will, however, install a more modern kernel to test against; esp. 
since I note your HID-replay tool requires 3.6 to test with.

   Would the correct approach here be to implement a composite USB 
device and have separate USB interfaces for mouse, touch and pen for 
compatibility with older kernel revisions?

     Cheers,

     -Brett

  reply	other threads:[~2013-09-09 14:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-09 12:56 HID input dealing with multiple collections? Breton M. Saunders
2013-09-09 13:12 ` Benjamin Tissoires
2013-09-09 14:01   ` Breton M. Saunders [this message]
2013-09-09 14:16     ` Benjamin Tissoires
2013-09-09 15:40       ` Breton M. Saunders

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=522DD4AA.3020501@brettnet.eu \
    --to=bms20@brettnet.eu \
    --cc=benjamin.tissoires@gmail.com \
    --cc=linux-input@vger.kernel.org \
    /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).