linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alan Ott <alan@signal11.us>
To: Jiri Kosina <jkosina@suse.cz>
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/1] HID: Report Descriptor in Sysfs
Date: Fri, 21 Jan 2011 11:57:25 -0500	[thread overview]
Message-ID: <4D39BAF5.9010506@signal11.us> (raw)
In-Reply-To: <alpine.LNX.2.00.1101211714050.5725@pobox.suse.cz>

On 01/21/2011 11:14 AM, Jiri Kosina wrote:
> On Fri, 21 Jan 2011, Alan Ott wrote:
>
>    
>> Well, what I really want is the Usage Page and Usage of the device. For some
>> background, I maintain a library called hidapi[1] for accessing HID devices in
>> a cross platform way. There are currently four backends, Linux-hidraw,
>> Linux-libusb, Mac OS, and Windows.
>>
>> I've recently received requests for supporting composite HID devices. Since a
>> composite device will show up as multiple devices with the same VID/PID, one
>> needs a way to differentiate between its different interfaces. On Windows and
>> Mac, the platform HID libraries support getting the Usage Page and Usage of
>> each interface. On Linux/libusb I can request the HID report descriptor and
>> parse it myself, but I have to claim the interface to do it, and to do that, I
>> have to detach the kernel driver. Needless to say, detaching the kernel driver
>> is not good, especially when the library is supposed to be just scanning for
>> devices.
>>
>> For these reasons, it would be really convenient to get the report descriptor
>> from sysfs.
>>      
> In this case, you can still get the report descriptor from hidraw (which
> is parallel to any other HID-bus based kernel driver). Woudl that suit
> your needs?
>
>    

Not exactly, because not all HID devices have a hidraw interface 
(because some are blacklisted). These devices are still accessible 
through libusb. Plus, getting it from hidraw involves having permissions 
to open the device[1]. Maybe that's less of a limitation, but since I 
can get everything else from sysfs (vid/pid, strings, device version), 
it seemed to make sense to me to have the hid report descriptor in the 
same place.

Again, if I'm completely wrong about how I should be going about this, 
just let me know.

Alan.


[1] Last year, I suggested adding some interfaces to hidraw to get 
things like the serial number, and it was suggested to me on 
linux-usb[2] that I use sysfs (through libudev) instead. I extrapolated 
that the proper paradigm was to use sysfs to get information about the 
device, and to use the device node itself to actually communicate with 
the device. I could be wrong again.

[2] I didn't realize at the time that I really should have asked on 
linux-input instead of linux-usb.



  reply	other threads:[~2011-01-21 16:57 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-21  6:19 [PATCH 0/1] HID: Report Descriptor in Sysfs Alan Ott
2011-01-21  6:19 ` [PATCH 1/1] hid: Add HID Report Descriptor to sysfs Alan Ott
2011-01-22 13:55   ` Greg KH
2011-01-23 22:35     ` [PATCH v2 0/1] HID: Report Descriptor in Sysfs Alan Ott
2011-01-23 22:35     ` [PATCH v2 1/1] hid: Add HID Report Descriptor to sysfs Alan Ott
2011-01-23 22:59       ` Greg KH
2011-01-24  0:36         ` [PATCH v3 0/1] HID: Report Descriptor in Sysfs Alan Ott
2011-01-24  0:36         ` [PATCH v3 1/1] hid: Add HID Report Descriptor to sysfs Alan Ott
2011-01-24  3:50         ` [PATCH v4 0/1] HID: Report Descriptor in Sysfs Alan Ott
2011-02-16  4:11           ` Alan Ott
2011-02-17 12:26             ` Jiri Kosina
2011-01-24  3:50         ` [PATCH v4 1/1] hid: Add HID Report Descriptor to sysfs Alan Ott
2011-02-17 12:55           ` Antonio Ospite
2011-01-21  9:59 ` [PATCH 0/1] HID: Report Descriptor in Sysfs Jiri Kosina
2011-01-21 14:52   ` Alan Ott
2011-01-21 15:09     ` Jiri Kosina
2011-01-21 15:29       ` Alan Ott
2011-01-21 16:14         ` Jiri Kosina
2011-01-21 16:57           ` Alan Ott [this message]
2011-01-21 20:03       ` Nikolai Kondrashov
2011-01-24 15:17         ` Jiri Kosina

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=4D39BAF5.9010506@signal11.us \
    --to=alan@signal11.us \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@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).