Tech Support > Microsoft Windows > Drivers > HID minidriver with multiple report descriptors
HID minidriver with multiple report descriptors
Posted by Ron on March 9th, 2007


Hi,

I write a HID minidriver with standard Mouse and Keyboard report descriptors.
It is based on vhidmini in Windows Server 2003 DDK.
The driver work fine and I can read/write the report from the device.
The Device Manager shows it is HID-compliant device in HID class, but the
Mouse Class and Keyboard Class have none.
How should I do so that it can be a mouse device and keyboard device?
Should I modify the INF file? My driver's INF is almost same as the
vhidmini's.

Thanks
Ron

Posted by Owen Smith on March 9th, 2007


I'm pretty sure you will need to break up hte device into a Mouse device
and Keyboard device. (i.e two drivers, one with a report descriptor for a
keyboard and one for a mouse)

The inf files should not refer to HID\MyVirtualHidDevice - these id's need
to be picked up from keyboard.inf or msmouse.inf - idealy reporting the
compatible id of HID_SYSTEM_KEYBOARD or HID_SYSTEM_MOUSE (i think)


On Fri, 09 Mar 2007 10:06:14 -0000, Ron <Ron@discussions.microsoft.com>
wrote:



--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Posted by Doron Holan [MS] on March 10th, 2007


you only need one HID minidriver. from it, a keyboard and a mouse can be
enumerated. you just have to put each device into its own top level
collection. If you are having trouble, i would find a USB HID that already
does this and look at its HID descriptor

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Owen Smith" <osmith@saitek.com> wrote in message
newsp.toxf4vcimlchdc@oas-core2...


Posted by Ron on March 10th, 2007


Thanks, it is helpful to me.
Actually, my hid minidriver contain 3 top level collections of report:
keyboard, mouse and cosumer control.
It is just same as the USB composite HID keyboard.
For the real USB device, I know Windows can enumerate it well.
But how the system enumerate the virtual HID device not only a HID class but
also Mouse class and keyboard class?

Ron

"Doron Holan [MS]" wrote:

Posted by Doron Holan [MS] on March 10th, 2007


each top level collection is enumerated as its own child stack based on the
HID descriptor. if that is not happening for your HID miniport, there is a
bug in your HID descriptor

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Ron" <Ron@discussions.microsoft.com> wrote in message
news:B6D01ABC-7524-4DB5-A5D3-E9C14508B396@microsoft.com...


Posted by Ron on March 11th, 2007


thank for your advice.
i forget to assign REPORT_ID for each report desc.
It works now.
However, i migrated the corrected report to "hidfake". (Walter Oney 's sample)
The system pop up 3 "Found New Device Wizard" window and identfy it as
"Unknow Device".
Any difference detween these 2 drivers' enumeration?
Appreciated.

Ron
"Doron Holan [MS]" wrote:

Posted by Doron Holan [MS] on March 12th, 2007


does it work for your HID miniport? does the keyboard device have a hw ID
of HID_DEVICE_SYSTEM_KEYBOARD? and the mouse HID_DEVICE_SYSTEM_MOUSE?

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Ron" <Ron@discussions.microsoft.com> wrote in message
news:2B4B9805-4E2F-4A8F-8909-456A46D9EEDB@microsoft.com...



Similar Posts