Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mouse driver



Hi Jeff,

If your driver is targeted for Tiger or later, there is an easier way to write a mouse driver. In Tiger, I added the following in kernel classes the IOHIDFamily:

IOHIDInterface
IOHIDEventDriver
IOHIDEventService

IOHIDInterface is a matchable in-kernel interface to the HID Manager.

IOHIDEventService is a new class synonymous with IOHIKeyboard and IOHIPointing. It allows you to dispatch any type of system event without the need of create an additional service instance.

IOHIDEventDriver is the default HID driver installed on the system. It is a subclass of IOHIDEventService and matches on the IOHIDInterface nub. Depending on your device you may only need to subclass this particular service to provide extended behavior for your device.

Please note that the headers are not very well documents as of yet, but should be in the near future. You can also reference the source via Darwin, by checking out the IOHIDFamily.

- Rob

On Jun 14, 2005, at 10:39 AM, Jeff Schindler wrote:

Hello,

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.

Jeff

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden

This email sent to email@hidden


_______________________________________________ Do not post admin requests to the list. They will be ignored. Usb mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/usb/email@hidden

This email sent to email@hidden
References: 
 >mouse driver (From: "Jeff Schindler" <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.