Re: HID input dealing with multiple collections?

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

 



Hi,

On Mon, Sep 9, 2013 at 2:56 PM, Breton M. Saunders <bms20@xxxxxxxxxxx> 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,
Benjamin

[1] http://bentiss.github.io/hid-replay-docs/
--
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