- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

# usb_commun_hid.h

Go to the documentation of this file.

    00001 /*This file is prepared for Doxygen automatic documentation generation.*/
    00013
    00014 /* Copyright (c) 2009 Atmel Corporation. All rights reserved.
    00015  *
    00016  * Redistribution and use in source and binary forms, with or without
    00017  * modification, are permitted provided that the following conditions are met:
    00018  *
    00019  * 1. Redistributions of source code must retain the above copyright notice,
    00020  * this list of conditions and the following disclaimer.
    00021  *
    00022  * 2. Redistributions in binary form must reproduce the above copyright notice,
    00023  * this list of conditions and the following disclaimer in the documentation
    00024  * and/or other materials provided with the distribution.
    00025  *
    00026  * 3. The name of Atmel may not be used to endorse or promote products derived
    00027  * from this software without specific prior written permission.
    00028  *
    00029  * 4. This software may only be redistributed and used in connection with an Atmel
    00030  * AVR product.
    00031  *
    00032  * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
    00033  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    00034  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY AND
    00035  * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
    00036  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    00037  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    00038  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    00039  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    00040  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    00041  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    00042  */
    00043
    00044 #ifndef _USB_COMMUN_HID_H_
    00045 #define _USB_COMMUN_HID_H_
    00046
    00047
    00050 #define  HID_CLASS                            0x03
    00051 #define  HID_SUB_CLASS_BOOT                   0x01    //!< Is used to signal the BIOS BOOT support (0=no no sub class,1=boot interface SubClass)
    00052 #define  HID_PROTOCOL_KEYBOARD                0x01    //!< Protocol keyboard standard
    00053 #define  HID_PROTOCOL_MOUSE                   0x02    //!< Protocol mouse standard
    00054
    00055
    00056
    00059 #define  SETUP_HID_GET_REPORT                 0x01
    00060 #define  SETUP_HID_GET_IDLE                   0x02
    00061 #define  SETUP_HID_GET_PROTOCOL               0x03
    00062 #define  SETUP_HID_SET_REPORT                 0x09
    00063 #define  SETUP_HID_SET_IDLE                   0x0A
    00064 #define  SETUP_HID_SET_PROTOCOL               0x0B
    00065
    00068 #define  DESCRIPTOR_HID                       0x21
    00069 #define  DESCRIPTOR_REPORT                    0x22
    00070 #define  DESCRIPTOR_PHYSICAL                  0x23
    00071
    00072
    00075 #define  REPORT_TYPE_INPUT                    0x01
    00076 #define  REPORT_TYPE_OUTPUT                   0x02
    00077 #define  REPORT_TYPE_FEATURE                  0x03
    00078
    00079
    00082 #define  HID_BDC                              0x0111  //!< Numeric expression identifying the HID Class Specification release (here V1.11)
    00083 #define  HID_CLASS_DESC_NB_DEFAULT            0x01    //!< Numeric expression specifying the number of class descriptors (always at least one i.e. Report descriptor.)
    00084
    00087 #define  HID_NO_COUNTRY_CODE                  0       // Not Supported
    00088 #define  HID_COUNTRY_ARABIC                   1       // Arabic
    00089 #define  HID_COUNTRY_BELGIAN                  2       // Belgian
    00090 #define  HID_COUNTRY_CANADIAN_BILINGUAL       3       // Canadian-Bilingual
    00091 #define  HID_COUNTRY_CANADIAN_FRENCH          4       // Canadian-French
    00092 #define  HID_COUNTRY_CZECH_REPUBLIC           5       // Czech Republic
    00093 #define  HID_COUNTRY_DANISH                   6       // Danish
    00094 #define  HID_COUNTRY_FINNISH                  7       // Finnish
    00095 #define  HID_COUNTRY_FRENCH                   8       // French
    00096 #define  HID_COUNTRY_GERMAN                   9       // German
    00097 #define  HID_COUNTRY_GREEK                    10      // Greek
    00098 #define  HID_COUNTRY_HEBREW                   11      // Hebrew
    00099 #define  HID_COUNTRY_HUNGARY                  12      // Hungary
    00100 #define  HID_COUNTRY_INTERNATIONAL_ISO        13      // International (ISO)
    00101 #define  HID_COUNTRY_ITALIAN                  14      // Italian
    00102 #define  HID_COUNTRY_JAPAN_KATAKANA           15      // Japan (Katakana)
    00103 #define  HID_COUNTRY_KOREAN                   16      // Korean
    00104 #define  HID_COUNTRY_LATIN_AMERICAN           17      // Latin American
    00105 #define  HID_COUNTRY_NETHERLANDS_DUTCH        18      // Netherlands/Dutch
    00106 #define  HID_COUNTRY_NORWEGIAN                19      // Norwegian
    00107 #define  HID_COUNTRY_PERSIAN_FARSI            20      // Persian (Farsi)
    00108 #define  HID_COUNTRY_POLAND                   21      // Poland
    00109 #define  HID_COUNTRY_PORTUGUESE               22      // Portuguese
    00110 #define  HID_COUNTRY_RUSSIA                   23      // Russia
    00111 #define  HID_COUNTRY_SLOVAKIA                 24      // Slovakia
    00112 #define  HID_COUNTRY_SPANISH                  25      // Spanish
    00113 #define  HID_COUNTRY_SWEDISH                  26      // Swedish
    00114 #define  HID_COUNTRY_SWISS_FRENCH             27      // Swiss/French
    00115 #define  HID_COUNTRY_SWISS_GERMAN             28      // Swiss/German
    00116 #define  HID_COUNTRY_SWITZERLAND              29      // Switzerland
    00117 #define  HID_COUNTRY_TAIWAN                   30      // Taiwan
    00118 #define  HID_COUNTRY_TURKISH_Q                31      // Turkish-Q
    00119 #define  HID_COUNTRY_UK                       32      // UK
    00120 #define  HID_COUNTRY_US                       33      // US
    00121 #define  HID_COUNTRY_YUGOSLAVIA               34      // Yugoslavia
    00122 #define  HID_COUNTRY_TURKISH_F                35      // Turkish-F
    00123
    00124
    00125
    00126
    00127
    00130 #define  HID_A                4
    00131 #define  HID_B                5
    00132 #define  HID_C                6
    00133 #define  HID_D                7
    00134 #define  HID_E                8
    00135 #define  HID_F                9
    00136 #define  HID_G                10
    00137 #define  HID_H                11
    00138 #define  HID_I                12
    00139 #define  HID_J                13
    00140 #define  HID_K                14
    00141 #define  HID_L                15
    00142 #define  HID_M                16
    00143 #define  HID_N                17
    00144 #define  HID_O                18
    00145 #define  HID_P                19
    00146 #define  HID_Q                20
    00147 #define  HID_R                21
    00148 #define  HID_S                22
    00149 #define  HID_T                23
    00150 #define  HID_U                24
    00151 #define  HID_V                25
    00152 #define  HID_W                26
    00153 #define  HID_X                27
    00154 #define  HID_Y                28
    00155 #define  HID_Z                29
    00156 #define  HID_1                30
    00157 #define  HID_2                31
    00158 #define  HID_3                32
    00159 #define  HID_4                33
    00160 #define  HID_5                34
    00161 #define  HID_6                35
    00162 #define  HID_7                36
    00163 #define  HID_8                37
    00164 #define  HID_9                38
    00165 #define  HID_0                39
    00166 #define  HID_ENTER            40
    00167 #define  HID_ESCAPE           41
    00168 #define  HID_BACKSPACE        42
    00169 #define  HID_TAB              43
    00170 #define  HID_SPACEBAR         44
    00171 #define  HID_UNDERSCORE       45
    00172 #define  HID_PLUS             46
    00173 /*
    00174 #define  HID_[ {              47
    00175 #define  HID_] }              48
    00176 */
    00177 #define  HID_BACKSLASH        49
    00178 /*
    00179 #define  HID_# ~              50
    00180 #define  HID_; :              51
    00181 #define  HID_‘ "              52
    00182 */
    00183 #define  HID_TILDE            53
    00184 #define  HID_COMMA            54
    00185 #define  HID_DOT              55
    00186 #define  HID_SLASH            56
    00187 #define  HID_CAPS LOCK        57
    00188 #define  HID_F1               58
    00189 #define  HID_F2               59
    00190 #define  HID_F3               60
    00191 #define  HID_F4               61
    00192 #define  HID_F5               62
    00193 #define  HID_F6               63
    00194 #define  HID_F7               64
    00195 #define  HID_F8               65
    00196 #define  HID_F9               66
    00197 #define  HID_F10              67
    00198 #define  HID_F11              68
    00199 #define  HID_F12              69
    00200 #define  HID_PRINTSCREEN      70
    00201 #define  HID_SCROLL LOCK      71
    00202 #define  HID_PAUSE            72
    00203 #define  HID_INSERT           73
    00204 #define  HID_HOME             74
    00205 #define  HID_PAGEUP           75
    00206 #define  HID_DELETE           76
    00207 #define  HID_END              77
    00208 #define  HID_PAGEDOWN         78
    00209 #define  HID_RIGHT            79
    00210 #define  HID_LEFT             80
    00211 #define  HID_DOWN             81
    00212 #define  HID_UP               82
    00213 #define  HID_KEYPAD_NUM_LOCK  83
    00214 #define  HID_KEYPAD_DIVIDE    84
    00215 #define  HID_KEYPAD_AT        85
    00216 #define  HID_KEYPAD_MULTIPLY  85
    00217 #define  HID_KEYPAD_MINUS     86
    00218 #define  HID_KEYPAD_PLUS      87
    00219 #define  HID_KEYPAD_ENTER     88
    00220 #define  HID_KEYPAD_1         89
    00221 #define  HID_KEYPAD_2         90
    00222 #define  HID_KEYPAD_3         91
    00223 #define  HID_KEYPAD_4         92
    00224 #define  HID_KEYPAD_5         93
    00225 #define  HID_KEYPAD_6         94
    00226 #define  HID_KEYPAD_7         95
    00227 #define  HID_KEYPAD_8         96
    00228 #define  HID_KEYPAD_9         97
    00229 #define  HID_KEYPAD_0         98
    00230
    00233 #define  HID_MODIFIER_NONE          0x00
    00234 #define  HID_MODIFIER_LEFT_CTRL     0x01
    00235 #define  HID_MODIFIER_LEFT_SHIFT    0x02
    00236 #define  HID_MODIFIER_LEFT_ALT      0x04
    00237 #define  HID_MODIFIER_LEFT_GUI      0x08
    00238 #define  HID_MODIFIER_RIGHT_CTRL    0x10
    00239 #define  HID_MODIFIER_RIGHT_SHIFT   0x20
    00240 #define  HID_MODIFIER_RIGHT_ALT     0x40
    00241 #define  HID_MODIFIER_RIGHT_GUI     0x80
    00242
    00243
    00244
    00245
    00246 #endif   // _USB_COMMUN_HID_H_
    00247