xref: /haiku/headers/os/drivers/usb/USB_langIDs.h (revision 571d840abfdf03de583b26fefd2066ee75b25cf4)
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