Adding RID_TYPEHID RawInput support to user32
aric at codeweavers.com
Thu Jul 9 07:04:29 CDT 2015
On 7/8/15 4:20 PM, Vincent Povirk wrote:
> On Tue, Jul 7, 2015 at 9:18 PM, Aric Stewart <aric at codeweavers.com> wrote:
>> The big question is will the underling linux parts give you access directly to the HID Report Descriptor and the HID Reports. If they do, such as the mac parts, then things are super easy. If they do NOT, then it gets much more complicated.
> I looked into this earlier. Devices like /dev/input/js0 and /dev/js0
> are an abstraction and do not provide direct access to HID report
> descriptor or reports (which may not even exist, depending on the type
> of joystick).
> Devices like /dev/hidraw0 or /dev/hiddev0 do provide this access,
> however on a default Ubuntu setup non-root users do not have
> permission to access these devices.
That being the case, I have built in some shortcuts to make the process a bit easier.
Of course all the hidclass.sys stuff is not committed yet so it is a bit odd to be talking about it like it is. But once it is in place..
For a normal windows minidriver you would have to build your own USB HID Report Descriptor and use it. That means hand building the Descriptor and then having hidclass parse that structure to generate the preparse data.
I have added two new ioctls that are WINE specific to end run around that process. That would allow a wine specific minidriver to be able to built its own preparse data directly and pass it into hidclass. Makes things a bit easier.
You would still end up building the reports by hand. But if you have a preparse data, then we can implement all the HidP_ parts around setting values into reports and you can use them to create the report and send them up.
More information about the wine-devel