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}