I have to create a software/driver for OSX that interact with HID device connected through USB. The purposes of the application are as follows,
- Detect when HID device is plugged in or Removed. The PID and VID of the device is known.
- Read HID device serial number, firmware version and other details about the connected device that matches with the VID and PID
- Get Reports and set reports to the HID device when it is connected.
- Communicate with another application through which the user can alter the HID device setting
I am not a driver developer, but have experience in C, C++, Obj C etc. I am wondering what will be the best way to achieve the mentioned objectives. That is should I develop kernel extension (driver) or is there a better alternative?.
The challenges I face are,
- Starting with driver development
- Mac application communicating with the driver.
Either way, this is a new field for me. Can you please suggest some documents or sample codes, from with I can start.
Also kindly mention forums, or communities which might be helpful in developing device driver for mac.
Thankyou you all for the help. :)
MacOS X already has drivers for HID devices. So you don't need to develop a special driver/kernel extension for it.
You can use cross-platform opensource library hidapi for communication with HID devices.