]> git.donarmstrong.com Git - qmk_firmware.git/blob - lib/lufa/LUFA/DoxygenPages/OSDrivers.txt
Merge commit '60b30c036397cb5627fa374bb930794b225daa29' as 'lib/lufa'
[qmk_firmware.git] / lib / lufa / LUFA / DoxygenPages / OSDrivers.txt
1 /** \file
2  *
3  *  This file contains special DoxyGen information for the generation of the main page and other special
4  *  documentation pages. It is not a project source file.
5  */
6
7 /** \page Page_OSDrivers Operating System Drivers
8  *
9  *  Most of the USB classes supported by LUFA are also supported natively in
10  *  most operating systems, without extra drivers being required. However, in
11  *  some cases, a driver file is required in order for the device to enumerate
12  *  and function correctly.
13  *
14  *  \section Sec_OSClassSupport Operating System USB Class Support
15  *  The table below lists the supported LUFA USB classes, and their associated
16  *  <i>native</i> support on modern operating systems.
17  *
18  *  <table>
19  *  <tr>
20  *   <th width="200px">USB Class</th>
21  *   <th width="150px">Android</th>
22  *   <th width="150px">Windows</th>
23  *   <th width="150px">Linux</th>
24  *   <th width="150px">OS X</th>
25  *  </tr>
26  *  <tr>
27  *   <td>Android Open Accessory</td>
28  *   <td>2.3.4+</td>
29  *   <td>N/A</td>
30  *   <td>N/A</td>
31  *   <td>N/A</td>
32  *  </tr>
33  *  <tr>
34  *   <td>Audio 1.0</td>
35  *   <td>N/A</td>
36  *   <td>XP+</td>
37  *   <td>2.6.?+</td>
38  *   <td>10.?+</td>
39  *  </tr>
40  *  <tr>
41  *   <td>CDC-ACM</td>
42  *   <td>N/A</td>
43  *   <td>XP+</td>
44  *   <td>2.6.?+</td>
45  *   <td>10.?+</td>
46  *  </tr>
47  *  <tr>
48  *   <td>HID</td>
49  *   <td>3.?+</td>
50  *   <td>XP+</td>
51  *   <td>2.6.?+</td>
52  *   <td>10.?+</td>
53  *  </tr>
54  *  <tr>
55  *   <td>MIDI</td>
56  *   <td>N/A</td>
57  *   <td>XP+</td>
58  *   <td>2.6.?+</td>
59  *   <td>10.?+</td>
60  *  </tr>
61  *  <tr>
62  *   <td>Mass Storage</td>
63  *   <td>N/A</td>
64  *   <td>XP+</td>
65  *   <td>2.6.?+</td>
66  *   <td>10.?+</td>
67  *  </tr>
68  *  <tr>
69  *   <td>Printer</td>
70  *   <td>N/A</td>
71  *   <td>XP+</td>
72  *   <td>2.6.?+</td>
73  *   <td>10.?+</td>
74  *  </tr>
75  *  <tr>
76  *   <td>RNDIS</td>
77  *   <td>N/A</td>
78  *   <td>XP+</td>
79  *   <td>2.6.?+</td>
80  *   <td>N/A</td>
81  *  </tr>
82  *  <tr>
83  *   <td>Still Image</td>
84  *   <td>N/A</td>
85  *   <td>XP+</td>
86  *   <td>2.6.?+</td>
87  *   <td>10.?+</td>
88  *  </tr>
89  *  </table>
90  *
91  *  \section Sec_WinINFTemplates Windows INF Drivers
92  *  Windows uses INF driver files to associate a USB device of a specific class,
93  *  VID/PID ID pair, Windows Compatibility ID or other characteristic to a kernel
94  *  driver. In most cases these files are build into the operating system, and
95  *  no special user action or driver files are required for a device using a
96  *  standard USB class to enumerate. However, for some classes, a specific INF
97  *  driver must be created and given to the operating system for the device to
98  *  enumerate.
99  *
100  *  Those USB classes requiring a custom INF driver file in Windows are listed
101  *  below, along with a basic INF template for each class.
102  *
103  *  \subsection SSec_WinINF_CDC Windows CDC INF Template
104  *  This template is required for all CDC-ACM devices on Windows XP or newer.
105  *  \verbinclude "WindowsINF/LUFA CDC-ACM.inf"
106  *
107  *  \subsection SSec_WinINF_RNDIS Windows RNDIS INF Template
108  *  This template is required for all RNDIS devices on Windows XP or newer.
109  *  \verbinclude "WindowsINF/LUFA RNDIS.inf"
110  */
111