All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.