Hi,
I am writing firmware for a USB device that has both a keyboard and mouse
interface.
Both interfaces send data on the same USB endpoint, using seperate usage
pages
in the report descriptor.
The device works fine on a Mac, but Windows has problems enumerating it.
It appears with Code 10 in Device Manager, and does not work.
Is there a class driver in Windows (from XP onwards) that supports such a
device,
or is a custom driver needed?
If anybody has good examples of working descriptors too, that would be
appreciated.
Thanks,
Daire
This is one Device and two Interfaces (one keyboard and one mouse)? This is classic case for a Composite USB Device, which will then be claimed by Windows Common Class Generic Parent driver, resulting in each Interface appearing to be a separate device in the system, so they can be claimed by the typical Windows drivers.
See:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff537109(v=vs.85).aspx
as well as the material surrounding this page.
Peter
OSR
Actually in this case, the muxing happens at the hid level. No need for the genetic parent. The code 10 means the hid USB class driver didn’t like something about your descriptors, I would guess specifically your hid descriptor
d
debt from my phone
From: xxxxx@osr.com
Sent: 10/2/2012 5:59 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Custom driver required for combined USB keyboard / mouse device?
This is one Device and two Interfaces (one keyboard and one mouse)? This is classic case for a Composite USB Device, which will then be claimed by Windows Common Class Generic Parent driver, resulting in each Interface appearing to be a separate device in the system, so they can be claimed by the typical Windows drivers.
See:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff537109(v=vs.85).aspx
as well as the material surrounding this page.
Peter
OSR
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer