Why do you think that you need your own driver? In any case, the
IOUSBHIDDriver is the driver for any mouse device. The
AppleUSBOpticalMouse is just a vendor-specific driver that issues some
commands to the driver. I would try to make your device work with the
HID driver. Use the HID lib to communicate with your device from user
space.
--
Fernando Urbina
USB Technology Team
Apple Computer, Inc.
On Jun 14, 2005, at 11:39 AM, Jeff Schindler wrote:
We are writing a device driver for a USB mouse. First off, from
everything I've read (yes, I've read all the pertinent docs), it appears
an in-kernel driver is the way to go. Looking at the Darwin source, it
looks as though a good starting point would be AppleUSBOpticalMouse (ie
subclassing IOUSBHIDDriver). I first considered the AppleUSBMouse class
and subclassing IOHIPointing from the HID family, but then I noticed
that AppleUSBMouse is obsolete and has been for some time (did
AppleUSBOpticalMouse replace this?). Which is the best approach? Also,
I assume I would need my own user client for user space communication
(as opposed to using an existing user client) - is there a good
starting point for that? Sorry for the newbi-ness of the questions -
this is all new to me.