usb_if/descriptor/lang_id.rs
1use num_enum::{FromPrimitive, IntoPrimitive};
2
3#[repr(u16)]
4#[derive(Debug, PartialEq, Eq, IntoPrimitive, FromPrimitive, Clone, Copy)]
5pub enum LanguageId {
6 /// Afrikaans
7 Afrikaans = 0x0436,
8 /// Albanian
9 Albanian = 0x041c,
10 /// Arabic (Saudi Arabia)
11 ArabicSaudiArabia = 0x0401,
12 /// Arabic (Iraq)
13 ArabicIraq = 0x0801,
14 /// Arabic (Egypt)
15 ArabicEgypt = 0x0c01,
16 /// Arabic (Libya)
17 ArabicLibya = 0x1001,
18 /// Arabic (Algeria)
19 ArabicAlgeria = 0x1401,
20 /// Arabic (Morocco)
21 ArabicMorocco = 0x1801,
22 /// Arabic (Tunisia)
23 ArabicTunisia = 0x1c01,
24 /// Arabic (Oman)
25 ArabicOman = 0x2001,
26 /// Arabic (Yemen)
27 ArabicYemen = 0x2401,
28 /// Arabic (Syria)
29 ArabicSyria = 0x2801,
30 /// Arabic (Jordan)
31 ArabicJordan = 0x2c01,
32 /// Arabic (Lebanon)
33 ArabicLebanon = 0x3001,
34 /// Arabic (Kuwait)
35 ArabicKuwait = 0x3401,
36 /// Arabic (U.A.E.)
37 ArabicUAE = 0x3801,
38 /// Arabic (Bahrain)
39 ArabicBahrain = 0x3c01,
40 /// Arabic (Qatar)
41 ArabicQatar = 0x4001,
42 /// Armenian
43 Armenian = 0x042b,
44 /// Assamese
45 Assamese = 0x044d,
46 /// Azeri (Latin)
47 AzeriLatin = 0x042c,
48 /// Azeri (Cyrillic)
49 AzeriCyrillic = 0x082c,
50 /// Basque
51 Basque = 0x042d,
52 /// Belarussian
53 Belarussian = 0x0423,
54 /// Bengali
55 Bengali = 0x0445,
56 /// Bulgarian
57 Bulgarian = 0x0402,
58 /// Burmese
59 Burmese = 0x0455,
60 /// Catalan
61 Catalan = 0x0403,
62 /// Chinese (Taiwan)
63 ChineseTaiwan = 0x0404,
64 /// Chinese (PRC)
65 ChinesePRC = 0x0804,
66 /// Chinese (Hong Kong SAR, PRC)
67 ChineseHongKong = 0x0c04,
68 /// Chinese (Singapore)
69 ChineseSingapore = 0x1004,
70 /// Chinese (Macau SAR)
71 ChineseMacau = 0x1404,
72 /// Croatian
73 Croatian = 0x041a,
74 /// Czech
75 Czech = 0x0405,
76 /// Danish
77 Danish = 0x0406,
78 /// Dutch (Netherlands)
79 DutchNetherlands = 0x0413,
80 /// Dutch (Belgium)
81 DutchBelgium = 0x0813,
82 /// English (United States)
83 EnglishUnitedStates = 0x0409,
84 /// English (United Kingdom)
85 EnglishUnitedKingdom = 0x0809,
86 /// English (Australian)
87 EnglishAustralian = 0x0c09,
88 /// English (Canadian)
89 EnglishCanadian = 0x1009,
90 /// English (New Zealand)
91 EnglishNewZealand = 0x1409,
92 /// English (Ireland)
93 EnglishIreland = 0x1809,
94 /// English (South Africa)
95 EnglishSouthAfrica = 0x1c09,
96 /// English (Jamaica)
97 EnglishJamaica = 0x2009,
98 /// English (Caribbean)
99 EnglishCaribbean = 0x2409,
100 /// English (Belize)
101 EnglishBelize = 0x2809,
102 /// English (Trinidad)
103 EnglishTrinidad = 0x2c09,
104 /// English (Zimbabwe)
105 EnglishZimbabwe = 0x3009,
106 /// English (Philippines)
107 EnglishPhilippines = 0x3409,
108 /// Estonian
109 Estonian = 0x0425,
110 /// Faeroese
111 Faeroese = 0x0438,
112 /// Farsi
113 Farsi = 0x0429,
114 /// Finnish
115 Finnish = 0x040b,
116 /// French (Standard)
117 FrenchStandard = 0x040c,
118 /// French (Belgian)
119 FrenchBelgian = 0x080c,
120 /// French (Canadian)
121 FrenchCanadian = 0x0c0c,
122 /// French (Switzerland)
123 FrenchSwitzerland = 0x100c,
124 /// French (Luxembourg)
125 FrenchLuxembourg = 0x140c,
126 /// French (Monaco)
127 FrenchMonaco = 0x180c,
128 /// Georgian
129 Georgian = 0x0437,
130 /// German (Standard)
131 GermanStandard = 0x0407,
132 /// German (Switzerland)
133 GermanSwitzerland = 0x0807,
134 /// German (Austria)
135 GermanAustria = 0x0c07,
136 /// German (Luxembourg)
137 GermanLuxembourg = 0x1007,
138 /// German (Liechtenstein)
139 GermanLiechtenstein = 0x1407,
140 /// Greek
141 Greek = 0x0408,
142 /// Gujarati
143 Gujarati = 0x0447,
144 /// Hebrew
145 Hebrew = 0x040d,
146 /// Hindi
147 Hindi = 0x0439,
148 /// Hungarian
149 Hungarian = 0x040e,
150 /// Icelandic
151 Icelandic = 0x040f,
152 /// Indonesian
153 Indonesian = 0x0421,
154 /// Italian (Standard)
155 ItalianStandard = 0x0410,
156 /// Italian (Switzerland)
157 ItalianSwitzerland = 0x0810,
158 /// Japanese
159 Japanese = 0x0411,
160 /// Kannada
161 Kannada = 0x044b,
162 /// Kashmiri (India)
163 KashmiriIndia = 0x0860,
164 /// Kazakh
165 Kazakh = 0x043f,
166 /// Konkani
167 Konkani = 0x0457,
168 /// Korean
169 Korean = 0x0412,
170 /// Korean (Johab)
171 KoreanJohab = 0x0812,
172 /// Latvian
173 Latvian = 0x0426,
174 /// Lithuanian
175 Lithuanian = 0x0427,
176 /// Lithuanian (Classic)
177 LithuanianClassic = 0x0827,
178 /// Macedonian
179 Macedonian = 0x042f,
180 /// Malay (Malaysian)
181 MalayMalaysian = 0x043e,
182 /// Malay (Brunei Darussalam)
183 MalayBrunei = 0x083e,
184 /// Malayalam
185 Malayalam = 0x044c,
186 /// Manipuri
187 Manipuri = 0x0458,
188 /// Marathi
189 Marathi = 0x044e,
190 /// Nepali (India)
191 NepaliIndia = 0x0861,
192 /// Norwegian (Bokmal)
193 NorwegianBokmal = 0x0414,
194 /// Norwegian (Nynorsk)
195 NorwegianNynorsk = 0x0814,
196 /// Oriya
197 Oriya = 0x0448,
198 /// Polish
199 Polish = 0x0415,
200 /// Portuguese (Brazil)
201 PortugueseBrazil = 0x0416,
202 /// Portuguese (Standard)
203 PortugueseStandard = 0x0816,
204 /// Punjabi
205 Punjabi = 0x0446,
206 /// Romanian
207 Romanian = 0x0418,
208 /// Russian
209 Russian = 0x0419,
210 /// Sanskrit
211 Sanskrit = 0x044f,
212 /// Serbian (Cyrillic)
213 SerbianCyrillic = 0x0c1a,
214 /// Serbian (Latin)
215 SerbianLatin = 0x081a,
216 /// Sindhi
217 Sindhi = 0x0459,
218 /// Slovak
219 Slovak = 0x041b,
220 /// Slovenian
221 Slovenian = 0x0424,
222 /// Spanish (Traditional Sort)
223 SpanishTraditionalSort = 0x040a,
224 /// Spanish (Mexican)
225 SpanishMexican = 0x080a,
226 /// Spanish (Modern Sort)
227 SpanishModernSort = 0x0c0a,
228 /// Spanish (Guatemala)
229 SpanishGuatemala = 0x100a,
230 /// Spanish (Costa Rica)
231 SpanishCostaRica = 0x140a,
232 /// Spanish (Panama)
233 SpanishPanama = 0x180a,
234 /// Spanish (Dominican Republic)
235 SpanishDominicanRepublic = 0x1c0a,
236 /// Spanish (Venezuela)
237 SpanishVenezuela = 0x200a,
238 /// Spanish (Colombia)
239 SpanishColombia = 0x240a,
240 /// Spanish (Peru)
241 SpanishPeru = 0x280a,
242 /// Spanish (Argentina)
243 SpanishArgentina = 0x2c0a,
244 /// Spanish (Ecuador)
245 SpanishEcuador = 0x300a,
246 /// Spanish (Chile)
247 SpanishChile = 0x340a,
248 /// Spanish (Uruguay)
249 SpanishUruguay = 0x380a,
250 /// Spanish (Paraguay)
251 SpanishParaguay = 0x3c0a,
252 /// Spanish (Bolivia)
253 SpanishBolivia = 0x400a,
254 /// Spanish (El Salvador)
255 SpanishElSalvador = 0x440a,
256 /// Spanish (Honduras)
257 SpanishHonduras = 0x480a,
258 /// Spanish (Nicaragua)
259 SpanishNicaragua = 0x4c0a,
260 /// Spanish (Puerto Rico)
261 SpanishPuertoRico = 0x500a,
262 /// Sutu
263 Sutu = 0x0430,
264 /// Swahili (Kenya)
265 SwahiliKenya = 0x0441,
266 /// Swedish
267 Swedish = 0x041d,
268 /// Swedish (Finland)
269 SwedishFinland = 0x081d,
270 /// Tamil
271 Tamil = 0x0449,
272 /// Tatar (Tatarstan)
273 TatarTatarstan = 0x0444,
274 /// Telugu
275 Telugu = 0x044a,
276 /// Thai
277 Thai = 0x041e,
278 /// Turkish
279 Turkish = 0x041f,
280 /// Ukrainian
281 Ukrainian = 0x0422,
282 /// Urdu (Pakistan)
283 UrduPakistan = 0x0420,
284 /// Urdu (India)
285 UrduIndia = 0x0820,
286 /// Uzbek (Latin)
287 UzbekLatin = 0x0443,
288 /// Uzbek (Cyrillic)
289 UzbekCyrillic = 0x0843,
290 /// Vietnamese
291 Vietnamese = 0x042a,
292 /// HID (Usage Data Descriptor)
293 HidUsageDataDescriptor = 0x04ff,
294 /// HID (Vendor Defined 1)
295 HidVendorDefined1 = 0xf0ff,
296 /// HID (Vendor Defined 2)
297 HidVendorDefined2 = 0xf4ff,
298 /// HID (Vendor Defined 3)
299 HidVendorDefined3 = 0xf8ff,
300 /// HID (Vendor Defined 4)
301 HidVendorDefined4 = 0xfcff,
302 #[num_enum(catch_all)]
303 Other(u16),
304}