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