1 #ifndef USB_LANGIDS_H 2 #define USB_LANGIDS_H 3 4 // USB Language Identifiers, 3/29/2000, version 1.0 5 // Reference: http://www.usb.org/developers/docs/USB_LANGIDs.pdf 6 7 #define USB_LANGIDS_VERSION 0x0100 // version 1.0 8 9 // descriptor string index 0 = supported LANGIDs array 10 #define USB_LANGIDS_STRING_INDEX (0) 11 12 #define USB_PRIMARY_LANGID_MASK (0x003F) // 9 to 0 bits 13 #define USB_SUB_LANGID_MASK (0xFC00) // 15 to 10 bits 14 15 #define USB_PRIMARY_LANGID(id) (id & USB_PRIMARY_LANGID_MASK) 16 #define USB_SUB_LANGID(id) ((id & USB_SUB_LANGID_MASK) >> 10) 17 18 enum { 19 USB_LANGID_AFRIKAANS = 0x0436, // Afrikaans 20 USB_LANGID_ALBANIAN = 0x041c, // Albanian 21 USB_LANGID_ARABIC_SAUDI_ARABIA = 0x0401, // Arabic (Saudi Arabia) 22 USB_LANGID_ARABIC_IRAK = 0x0801, // Arabic (Irak) 23 USB_LANGID_ARABIC_EGYPT = 0x0c01, // Arabic (Egypt) 24 USB_LANGID_ARABIC_LYBYA = 0x1001, // Arabic (Libya) 25 USB_LANGID_ARABIC_ALGERIA = 0x1401, // Arabic (Algeria) 26 USB_LANGID_ARABIC_MOROCCO = 0x1801, // Arabic (Morocco) 27 USB_LANGID_ARABIC_TUNISIA = 0x1c01, // Arabic (Tunisia) 28 USB_LANGID_ARABIC_OMAN = 0x2001, // Arabic (Oman) 29 USB_LANGID_ARABIC_YEMEN = 0x2401, // Arabic (Yemen) 30 USB_LANGID_ARABIC_SYRIA = 0x2801, // Arabic (Syria) 31 USB_LANGID_ARABIC_JORDAN = 0x2c01, // Arabic (Jordan) 32 USB_LANGID_ARABIC_LEBANON = 0x3001, // Arabic (Lebanon) 33 USB_LANGID_ARABIC_KUWAIT = 0x3401, // Arabic (Kuwait) 34 USB_LANGID_ARABIC_UAE = 0x3801, // Arabic (U.A.E.) 35 USB_LANGID_ARABIC_BAHRAIN = 0x3c01, // Arabic (Bahrain) 36 USB_LANGID_ARABIC_QATAR = 0x4001, // Arabic (Qatar) 37 USB_LANGID_ARMENIAN = 0x042b, // Armenian 38 USB_LANGID_ASSAMESE = 0x044d, // Assamese 39 USB_LANGID_AZERI_LATIN = 0x042c, // Azeri (Latin) 40 USB_LANGID_AZERI_CYRILLIC = 0x082c, // Azeri (Cyrillic) 41 USB_LANGID_BASQUE = 0x042d, // Basque 42 USB_LANGID_BELARUSSIAN = 0x0423, // Belarussian 43 USB_LANGID_BENGALI = 0x0445, // Bengali 44 USB_LANGID_BULGARIAN = 0x0402, // Bulgarian 45 USB_LANGID_BURMESE = 0x0455, // Burmese 46 USB_LANGID_CATALAN = 0x0403, // Catalan 47 USB_LANGID_CHINESE_TAIWAN = 0x0404, // Chinese (Taiwan) 48 USB_LANGID_CHINESE_PRC = 0x0804, // Chinese (PRC = People Republic of Chinese) 49 USB_LANGID_CHINESE_HONG_KONG = 0x0c04, // Chinese (Hong Kong) 50 USB_LANGID_CHINESE_SINGAPORE = 0x1004, // Chinese (Singapore) 51 USB_LANGID_CHINESE_MACAU_SAR = 0x1404, // Chinese (Macau SAR) 52 USB_LANGID_CROATIAN = 0x041a, // Croatian 53 USB_LANGID_CZECH = 0x0405, // Czech 54 USB_LANGID_DANISH = 0x0406, // Danish 55 USB_LANGID_DUTCH_NETHERLANDS = 0x0413, // Dutch (Netherlands) 56 USB_LANGID_DUTCH_BELGIUM = 0x0813, // Dutch (Belgium) 57 USB_LANGID_ENGLISH_UNITED_STATES = 0x0409, // English (United States) 58 USB_LANGID_ENGLISH_UNITED_KINGDOM = 0x0809, // English (United Kingdom) 59 USB_LANGID_ENGLISH_AUSTRALIAN = 0x0c09, // English (Australian) 60 USB_LANGID_ENGLISH_CANADIAN = 0x1009, // English (Canadian) 61 USB_LANGID_ENGLISH_NEW_ZEALAND = 0x1409, // English (New Zealand) 62 USB_LANGID_ENGLISH_IRELAND = 0x1809, // English (Ireland) 63 USB_LANGID_ENGLISH_SOUTH_AFRICA = 0x1c09, // English (South Africa) 64 USB_LANGID_ENGLISH_JAMAICA = 0x2009, // English (Jamaica) 65 USB_LANGID_ENGLISH_CARIBBEAN = 0x2409, // English (Caribbean) 66 USB_LANGID_ENGLISH_BELIZE = 0x2809, // English (Belize) 67 USB_LANGID_ENGLISH_TRINIDAD = 0x2c09, // English (Trinidad) 68 USB_LANGID_ENGLISH_ZIMBABWE = 0x3009, // English (Zimbabwe) 69 USB_LANGID_ENGLISH_PHLIPPINES = 0x3409, // English (Philippines) 70 USB_LANGID_ESTONIAN = 0x0425, // Estonian 71 USB_LANGID_FAEROESE = 0x0438, // Faeroese 72 USB_LANGID_FARSI = 0x0429, // Farsi 73 USB_LANGID_FINNISH = 0x040b, // Finnish 74 USB_LANGID_FRENCH_STANDARD = 0x040c, // French (Standard) 75 USB_LANGID_FRENCH_BELGIAN = 0x080c, // French (Belgian) 76 USB_LANGID_FRENCH_CANADIAN = 0x0c0c, // French (Canadian) 77 USB_LANGID_FRENCH_SWITZERLAND = 0x100c, // French (Switzerland) 78 USB_LANGID_FRENCH_LUXEMBOURG = 0x140c, // French (Luxembourg) 79 USB_LANGID_FRENCH_MONACO = 0x180c, // French (Monaco) 80 USB_LANGID_GEORGIAN = 0x0437, // Georgian 81 USB_LANGID_GERMAN_STANDARD = 0x0407, // German (Standard) 82 USB_LANGID_GERMAN_SWITZERLAND = 0x0807, // German (Switzerland) 83 USB_LANGID_GERMAN_AUSTRIA = 0x0c07, // German (Austria) 84 USB_LANGID_GERMAN_LUXEMBOURG = 0x1007, // German (Luxembourg) 85 USB_LANGID_GERMAN_LIECHTENSTEIN = 0x1407, // German (Liechtenstein) 86 USB_LANGID_GREEK = 0x0408, // Greek 87 USB_LANGID_GUJARATI = 0x0447, // Gujarati 88 USB_LANGID_HEBREW = 0x040d, // Hebrew 89 USB_LANGID_HINDI = 0x0439, // Hindi 90 USB_LANGID_HUNGARIAN = 0x040e, // Hungarian 91 USB_LANGID_ICELANDIC = 0x040f, // Icelandic 92 USB_LANGID_INDONESIAN = 0x0421, // Indonesian 93 USB_LANGID_ITALIAN_STANDARD = 0x0410, // Italian (Standard) 94 USB_LANGID_ITALIAN_SWITZERLAND = 0x0810, // Italian (Switzerland) 95 USB_LANGID_JAPANESE = 0x0411, // Japanese 96 USB_LANGID_KANNADA = 0x044b, // Kannada 97 USB_LANGID_KASHMIRI_INDIA = 0x0860, // Kashmiri (India) 98 USB_LANGID_KAZAKH = 0x043f, // Kazakh 99 USB_LANGID_KONKANI = 0x0457, // Konkani 100 USB_LANGID_KOREAN_JOHAB = 0x0412, // Korean (Johab) 101 USB_LANGID_LATVIAN = 0x0426, // Latvian 102 USB_LANGID_LITHUANIAN = 0x0427, // Lithuanian 103 USB_LANGID_LITHUANIAN_CLASSIC = 0x0827, // Lithuanian (Classic) 104 USB_LANGID_MACEDONIAN = 0x042f, // Macedonian 105 USB_LANGID_MALAY_MALAYSIAN = 0x043e, // Malay (Malaysian) 106 USB_LANGID_MALAY_BRUNEI_DARUSSALAM = 0x083e, // Malay (Brunei Darussalam) 107 USB_LANGID_MALAYALAM = 0x044c, // Malayalam 108 USB_LANGID_MANIPURI = 0x0458, // Manipuri 109 USB_LANGID_MARATHI = 0x044e, // Marathi 110 USB_LANGID_NEPALI_INDIA = 0x0861, // Nepali (India) 111 USB_LANGID_NORWEGIAN_BOKMAL = 0x0414, // Norwegian (Bokmal) 112 USB_LANGID_NORWEGIAN_NYNORSK = 0x0814, // Norwegian (Nynorsk) 113 USB_LANGID_ORIYA = 0x0448, // Oriya 114 USB_LANGID_POLISH = 0x0415, // Polish 115 USB_LANGID_PORTUGUESE_BRAZIL = 0x0416, // Portuguese (Brazil) 116 USB_LANGID_PORTUGUESE_STANDARD = 0x0816, // Portuguese (Standard) 117 USB_LANGID_PUNJABI = 0x0446, // Punjabi 118 USB_LANGID_ROMANIAN = 0x0418, // Romanian 119 USB_LANGID_RUSSIAN = 0x0419, // Russian 120 USB_LANGID_SANSKRIT = 0x044f, // Sanskrit 121 USB_LANGID_SERBIAN_CYRILLIC = 0x0c1a, // Serbian (Cyrillic) 122 USB_LANGID_SERBIAN_LATIN = 0x081a, // Serbian (Latin) 123 USB_LANGID_SINDHI = 0x0459, // Sindhi 124 USB_LANGID_SLOVAK = 0x041b, // Slovak 125 USB_LANGID_SLOVENIAN = 0x0424, // Slovenian 126 USB_LANGID_SPANNISH_TRADITIONAL_SORT= 0x040a, // Spannish (Traditional Sort) 127 USB_LANGID_SPANNISH_MEXICAN = 0x080a, // Spannish (Mexican) 128 USB_LANGID_SPANNISH_MODERN_SORT = 0x0c0a, // Spannish (Modern Sort) 129 USB_LANGID_SPANNISH_GUATEMALA = 0x100a, // Spannish (Guatemala) 130 USB_LANGID_SPANNISH_COSTA_RICA = 0x140a, // Spannish (Costa Rica) 131 USB_LANGID_SPANNISH_PANAMA = 0x180a, // Spannish (Panama) 132 USB_LANGID_SPANNISH_DOMINICAN_REPUBLIC = 0x1c0a, // Spannish (Dominican Republic) 133 USB_LANGID_SPANNISH_VENEZUELA = 0x200a, // Spannish (Venezuela) 134 USB_LANGID_SPANNISH_COLOMBIA = 0x240a, // Spannish (Colombia) 135 USB_LANGID_SPANNISH_PERU = 0x280a, // Spannish (Peru) 136 USB_LANGID_SPANNISH_ARGENTINA = 0x2c0a, // Spannish (Argentina) 137 USB_LANGID_SPANNISH_ECUADOR = 0x300a, // Spannish (Ecuador) 138 USB_LANGID_SPANNISH_CHILE = 0x340a, // Spannish (Chile) 139 USB_LANGID_SPANNISH_URUGUAY = 0x380a, // Spannish (Uruguay) 140 USB_LANGID_SPANNISH_PARAGUAY = 0x3c0a, // Spannish (Paraguay) 141 USB_LANGID_SPANNISH_BOLIVIA = 0x400a, // Spannish (Bolivia) 142 USB_LANGID_SPANNISH_EL_SALVADOR = 0x440a, // Spannish (El Salvador) 143 USB_LANGID_SPANNISH_HONDURAS = 0x480a, // Spannish (Honduras) 144 USB_LANGID_SPANNISH_NICARAGUA = 0x4c0a, // Spannish (Nicaragua) 145 USB_LANGID_SPANNISH_PUERTO_RICO = 0x500a, // Spannish (Puerto Rico) 146 USB_LANGID_SUTU = 0x0430, // Sutu 147 USB_LANGID_SWAHILI_KENYA = 0x0441, // Swahili (Kenya) 148 USB_LANGID_SWEDISH = 0x041d, // Swedish 149 USB_LANGID_SWEDISH_FINLAND = 0x081d, // Swedish (Finland) 150 USB_LANGID_TAMIL = 0x0449, // Tamil 151 USB_LANGID_TATAR_TATARSTAN = 0x0444, // Tatar (Tatarstan) 152 USB_LANGID_TELUGU = 0x044a, // Telugu 153 USB_LANGID_THAI = 0x041e, // Thai 154 USB_LANGID_TURKISH = 0x041f, // Turkish 155 USB_LANGID_UKRAINIAN = 0x0422, // Ukrainian 156 USB_LANGID_URDU_PAKISTAN = 0x0420, // Urdu (Pakistan) 157 USB_LANGID_URDU_INDIA = 0x0820, // Urdu (India) 158 USB_LANGID_UZBEK_LATIN = 0x0443, // Uzbek (Latin) 159 USB_LANGID_UZBEK_CYRILLIC = 0x0843, // Uzbek (Cyrillic) 160 USB_LANGID_VIETNAMESE = 0x042a, // Vietnamese 161 162 USB_LANGID_HID_UDD = 0x04ff, // HID (Usage Data Descriptor) 163 USB_LANGID_HID1 = 0xf0ff, // HID (Vendor Defined 1) 164 USB_LANGID_HID2 = 0xf4ff, // HID (Vendor Defined 2) 165 USB_LANGID_HID3 = 0xf8ff, // HID (Vendor Defined 3) 166 USB_LANGID_HID4 = 0xfcff, // HID (Vendor Defined 4) 167 168 USB_LANGID_INVALID = 0x0000 // Invalid LANG ID 169 }; 170 171 #endif // USB_LANGIDS_H 172 173 174