|
|
|
/** \file
|
|
|
|
*
|
|
|
|
* This file contains special DoxyGen information for the generation of the main page and other special
|
|
|
|
* documentation pages. It is not a project source file.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/** \page Page_OSDrivers Operating System Drivers
|
|
|
|
*
|
|
|
|
* Most of the USB classes supported by LUFA are also supported natively in
|
|
|
|
* most operating systems, without extra drivers being required. However, in
|
|
|
|
* some cases, a driver file is required in order for the device to enumerate
|
|
|
|
* and function correctly.
|
|
|
|
*
|
|
|
|
* \section Sec_OSClassSupport Operating System USB Class Support
|
|
|
|
* The table below lists the supported LUFA USB classes, and their associated
|
|
|
|
* <i>native</i> support on modern operating systems.
|
|
|
|
*
|
|
|
|
* <table>
|
|
|
|
* <tr>
|
|
|
|
* <th width="200px">USB Class</th>
|
|
|
|
* <th width="150px">Android</th>
|
|
|
|
* <th width="150px">Windows</th>
|
|
|
|
* <th width="150px">Linux</th>
|
|
|
|
* <th width="150px">OS X</th>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>Android Open Accessory</td>
|
|
|
|
* <td>2.3.4+</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>Audio 1.0</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* <td>XP+</td>
|
|
|
|
* <td>2.6.?+</td>
|
|
|
|
* <td>10.?+</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>CDC-ACM</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* <td>XP+</td>
|
|
|
|
* <td>2.6.?+</td>
|
|
|
|
* <td>10.?+</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>HID</td>
|
|
|
|
* <td>3.?+</td>
|
|
|
|
* <td>XP+</td>
|
|
|
|
* <td>2.6.?+</td>
|
|
|
|
* <td>10.?+</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>MIDI</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* <td>XP+</td>
|
|
|
|
* <td>2.6.?+</td>
|
|
|
|
* <td>10.?+</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>Mass Storage</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* <td>XP+</td>
|
|
|
|
* <td>2.6.?+</td>
|
|
|
|
* <td>10.?+</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>Printer</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* <td>XP+</td>
|
|
|
|
* <td>2.6.?+</td>
|
|
|
|
* <td>10.?+</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>RNDIS</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* <td>XP+</td>
|
|
|
|
* <td>2.6.?+</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* </tr>
|
|
|
|
* <tr>
|
|
|
|
* <td>Still Image</td>
|
|
|
|
* <td>N/A</td>
|
|
|
|
* <td>XP+</td>
|
|
|
|
* <td>2.6.?+</td>
|
|
|
|
* <td>10.?+</td>
|
|
|
|
* </tr>
|
|
|
|
* </table>
|
|
|
|
*
|
|
|
|
* \section Sec_WinINFTemplates Windows INF Drivers
|
|
|
|
* Windows uses INF driver files to associate a USB device of a specific class,
|
|
|
|
* VID/PID ID pair, Windows Compatibility ID or other characteristic to a kernel
|
|
|
|
* driver. In most cases these files are build into the operating system, and
|
|
|
|
* no special user action or driver files are required for a device using a
|
|
|
|
* standard USB class to enumerate. However, for some classes, a specific INF
|
|
|
|
* driver must be created and given to the operating system for the device to
|
|
|
|
* enumerate.
|
|
|
|
*
|
|
|
|
* Those USB classes requiring a custom INF driver file in Windows are listed
|
|
|
|
* below, along with a basic INF template for each class.
|
|
|
|
*
|
|
|
|
* \subsection SSec_WinINF_CDC Windows CDC INF Template
|
|
|
|
* This template is required for all CDC-ACM devices on Windows XP or newer.
|
|
|
|
* \verbinclude "WindowsINF/LUFA CDC-ACM.inf"
|
|
|
|
*
|
|
|
|
* \subsection SSec_WinINF_RNDIS Windows RNDIS INF Template
|
|
|
|
* This template is required for all RNDIS devices on Windows XP or newer.
|
|
|
|
* \verbinclude "WindowsINF/LUFA RNDIS.inf"
|
|
|
|
*/
|
|
|
|
|