Skip to main content

fidl_next_common_fuchsia_input/
fidl_next_common_fuchsia_input.rs

1// DO NOT EDIT: This file is machine-generated by fidlgen
2#![warn(clippy::all)]
3#![allow(unused_parens, unused_variables, unused_mut, unused_imports, unreachable_code)]
4
5pub mod natural {
6
7    #[doc = " A Fuchsia key represents a control that can be pressed or released such as a key or\n a button on a keyboard or another input device.\n\n The ordinal index for enum elements is derived from the USB HID Usage Tables at the\n time of definition. It is a 32 bit unsigned integer representing the USB HID Usage\n where the low 16 bits are the USB HID Usage ID and the high 16 bits are the\n USB HID Usage Page.\n\n The descriptions for each value in the enum assume a US English keyboard layout.\n Actual behavior varies by layout.\n"]
8    #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
9    #[repr(u32)]
10    pub enum Key {
11        Unknown = 0,
12        A = 458756,
13        B = 458757,
14        C = 458758,
15        D = 458759,
16        E = 458760,
17        F = 458761,
18        G = 458762,
19        H = 458763,
20        I = 458764,
21        J = 458765,
22        K = 458766,
23        L = 458767,
24        M = 458768,
25        N = 458769,
26        O = 458770,
27        P = 458771,
28        Q = 458772,
29        R = 458773,
30        S = 458774,
31        T = 458775,
32        U = 458776,
33        V = 458777,
34        W = 458778,
35        X = 458779,
36        Y = 458780,
37        Z = 458781,
38        Key1 = 458782,
39        Key2 = 458783,
40        Key3 = 458784,
41        Key4 = 458785,
42        Key5 = 458786,
43        Key6 = 458787,
44        Key7 = 458788,
45        Key8 = 458789,
46        Key9 = 458790,
47        Key0 = 458791,
48        Enter = 458792,
49        Escape = 458793,
50        Backspace = 458794,
51        Tab = 458795,
52        Space = 458796,
53        Minus = 458797,
54        Equals = 458798,
55        LeftBrace = 458799,
56        RightBrace = 458800,
57        Backslash = 458801,
58        NonUsHash = 458802,
59        Semicolon = 458803,
60        Apostrophe = 458804,
61        GraveAccent = 458805,
62        Comma = 458806,
63        Dot = 458807,
64        Slash = 458808,
65        CapsLock = 458809,
66        F1 = 458810,
67        F2 = 458811,
68        F3 = 458812,
69        F4 = 458813,
70        F5 = 458814,
71        F6 = 458815,
72        F7 = 458816,
73        F8 = 458817,
74        F9 = 458818,
75        F10 = 458819,
76        F11 = 458820,
77        F12 = 458821,
78        PrintScreen = 458822,
79        ScrollLock = 458823,
80        Pause = 458824,
81        Insert = 458825,
82        Home = 458826,
83        PageUp = 458827,
84        Delete = 458828,
85        End = 458829,
86        PageDown = 458830,
87        Right = 458831,
88        Left = 458832,
89        Down = 458833,
90        Up = 458834,
91        NumLock = 458835,
92        KeypadSlash = 458836,
93        KeypadAsterisk = 458837,
94        KeypadMinus = 458838,
95        KeypadPlus = 458839,
96        KeypadEnter = 458840,
97        Keypad1 = 458841,
98        Keypad2 = 458842,
99        Keypad3 = 458843,
100        Keypad4 = 458844,
101        Keypad5 = 458845,
102        Keypad6 = 458846,
103        Keypad7 = 458847,
104        Keypad8 = 458848,
105        Keypad9 = 458849,
106        Keypad0 = 458850,
107        KeypadDot = 458851,
108        NonUsBackslash = 458852,
109        KeypadEquals = 458855,
110        Menu = 458870,
111        LeftCtrl = 458976,
112        LeftShift = 458977,
113        LeftAlt = 458978,
114        LeftMeta = 458979,
115        RightCtrl = 458980,
116        RightShift = 458981,
117        RightAlt = 458982,
118        RightMeta = 458983,
119        Mute = 458879,
120        VolumeDown = 458881,
121        VolumeUp = 458880,
122        PlayPause = 786637,
123        MediaMute = 786658,
124        MediaVolumeIncrement = 786665,
125        MediaVolumeDecrement = 786666,
126        AcBack = 786980,
127        AcRefresh = 786983,
128        AcFullScreenView = 786992,
129        AcSelectTaskApplication = 786850,
130        BrightnessDown = 786543,
131        BrightnessUp = 786544,
132        Assistant = 4294901761,
133        Power = 4294901762,
134        Sleep = 4294901763,
135        Unknown0055 = 4294901845,
136        Unknown0056 = 4294901846,
137        Unknown0059 = 4294901849,
138        Unknown005C = 4294901852,
139        Unknown005D = 4294901853,
140        Unknown005E = 4294901854,
141        Unknown0079 = 4294901881,
142        Unknown007A = 4294901882,
143        Unknown007B = 4294901883,
144        Unknown007C = 4294901884,
145        Unknown0085 = 4294901893,
146        Unknown0087 = 4294901895,
147        Unknown0089 = 4294901897,
148        Unknown009C = 4294901916,
149        Unknown009F = 4294901919,
150        Unknown00A0 = 4294901920,
151        Unknown00A2 = 4294901922,
152        Unknown00A3 = 4294901923,
153        Unknown00A5 = 4294901925,
154        Unknown00A6 = 4294901926,
155        Unknown00A7 = 4294901927,
156        Unknown00A8 = 4294901928,
157        Unknown00A9 = 4294901929,
158        Unknown00Ad = 4294901933,
159        Unknown00B1 = 4294901937,
160        Unknown00B2 = 4294901938,
161        Unknown00B3 = 4294901939,
162        Unknown00B4 = 4294901940,
163        Unknown00C9 = 4294901961,
164        Unknown00Cf = 4294901967,
165        Unknown00D0 = 4294901968,
166        Unknown00D4 = 4294901972,
167        Unknown00E2 = 4294901986,
168        Unknown0120 = 4294902048,
169        Unknown0121 = 4294902049,
170        Unknown0122 = 4294902050,
171        Unknown0123 = 4294902051,
172        Unknown0124 = 4294902052,
173        Unknown0125 = 4294902053,
174        Unknown0126 = 4294902054,
175        Unknown0127 = 4294902055,
176        Unknown0128 = 4294902056,
177        Unknown0129 = 4294902057,
178        Unknown012A = 4294902058,
179        Unknown012B = 4294902059,
180        Unknown012C = 4294902060,
181        Unknown012D = 4294902061,
182        Unknown012E = 4294902062,
183        Unknown012F = 4294902063,
184        Unknown0130 = 4294902064,
185        Unknown0131 = 4294902065,
186        Unknown0132 = 4294902066,
187        Unknown0133 = 4294902067,
188        Unknown0134 = 4294902068,
189        Unknown0135 = 4294902069,
190        Unknown0136 = 4294902070,
191        Unknown0137 = 4294902071,
192        Unknown0138 = 4294902072,
193        Unknown0139 = 4294902073,
194        Unknown013A = 4294902074,
195        Unknown013B = 4294902075,
196        Unknown013C = 4294902076,
197        Unknown013D = 4294902077,
198        Unknown013E = 4294902078,
199        Unknown0161 = 4294902113,
200        Unknown016A = 4294902122,
201        Unknown016E = 4294902126,
202        Unknown0172 = 4294902130,
203        Unknown0179 = 4294902137,
204        Unknown018E = 4294902158,
205        Unknown018F = 4294902159,
206        Unknown0190 = 4294902160,
207        Unknown0191 = 4294902161,
208        Unknown0192 = 4294902162,
209        Unknown0193 = 4294902163,
210        Unknown0195 = 4294902165,
211        Unknown01D0 = 4294902224,
212        Unknown020A = 4294902282,
213        Unknown020B = 4294902283,
214        UnknownOrdinal_(u32) = 4294902284,
215    }
216    impl ::std::convert::From<u32> for Key {
217        fn from(value: u32) -> Self {
218            match value {
219                0 => Self::Unknown,
220                458756 => Self::A,
221                458757 => Self::B,
222                458758 => Self::C,
223                458759 => Self::D,
224                458760 => Self::E,
225                458761 => Self::F,
226                458762 => Self::G,
227                458763 => Self::H,
228                458764 => Self::I,
229                458765 => Self::J,
230                458766 => Self::K,
231                458767 => Self::L,
232                458768 => Self::M,
233                458769 => Self::N,
234                458770 => Self::O,
235                458771 => Self::P,
236                458772 => Self::Q,
237                458773 => Self::R,
238                458774 => Self::S,
239                458775 => Self::T,
240                458776 => Self::U,
241                458777 => Self::V,
242                458778 => Self::W,
243                458779 => Self::X,
244                458780 => Self::Y,
245                458781 => Self::Z,
246                458782 => Self::Key1,
247                458783 => Self::Key2,
248                458784 => Self::Key3,
249                458785 => Self::Key4,
250                458786 => Self::Key5,
251                458787 => Self::Key6,
252                458788 => Self::Key7,
253                458789 => Self::Key8,
254                458790 => Self::Key9,
255                458791 => Self::Key0,
256                458792 => Self::Enter,
257                458793 => Self::Escape,
258                458794 => Self::Backspace,
259                458795 => Self::Tab,
260                458796 => Self::Space,
261                458797 => Self::Minus,
262                458798 => Self::Equals,
263                458799 => Self::LeftBrace,
264                458800 => Self::RightBrace,
265                458801 => Self::Backslash,
266                458802 => Self::NonUsHash,
267                458803 => Self::Semicolon,
268                458804 => Self::Apostrophe,
269                458805 => Self::GraveAccent,
270                458806 => Self::Comma,
271                458807 => Self::Dot,
272                458808 => Self::Slash,
273                458809 => Self::CapsLock,
274                458810 => Self::F1,
275                458811 => Self::F2,
276                458812 => Self::F3,
277                458813 => Self::F4,
278                458814 => Self::F5,
279                458815 => Self::F6,
280                458816 => Self::F7,
281                458817 => Self::F8,
282                458818 => Self::F9,
283                458819 => Self::F10,
284                458820 => Self::F11,
285                458821 => Self::F12,
286                458822 => Self::PrintScreen,
287                458823 => Self::ScrollLock,
288                458824 => Self::Pause,
289                458825 => Self::Insert,
290                458826 => Self::Home,
291                458827 => Self::PageUp,
292                458828 => Self::Delete,
293                458829 => Self::End,
294                458830 => Self::PageDown,
295                458831 => Self::Right,
296                458832 => Self::Left,
297                458833 => Self::Down,
298                458834 => Self::Up,
299                458835 => Self::NumLock,
300                458836 => Self::KeypadSlash,
301                458837 => Self::KeypadAsterisk,
302                458838 => Self::KeypadMinus,
303                458839 => Self::KeypadPlus,
304                458840 => Self::KeypadEnter,
305                458841 => Self::Keypad1,
306                458842 => Self::Keypad2,
307                458843 => Self::Keypad3,
308                458844 => Self::Keypad4,
309                458845 => Self::Keypad5,
310                458846 => Self::Keypad6,
311                458847 => Self::Keypad7,
312                458848 => Self::Keypad8,
313                458849 => Self::Keypad9,
314                458850 => Self::Keypad0,
315                458851 => Self::KeypadDot,
316                458852 => Self::NonUsBackslash,
317                458855 => Self::KeypadEquals,
318                458870 => Self::Menu,
319                458976 => Self::LeftCtrl,
320                458977 => Self::LeftShift,
321                458978 => Self::LeftAlt,
322                458979 => Self::LeftMeta,
323                458980 => Self::RightCtrl,
324                458981 => Self::RightShift,
325                458982 => Self::RightAlt,
326                458983 => Self::RightMeta,
327                458879 => Self::Mute,
328                458881 => Self::VolumeDown,
329                458880 => Self::VolumeUp,
330                786637 => Self::PlayPause,
331                786658 => Self::MediaMute,
332                786665 => Self::MediaVolumeIncrement,
333                786666 => Self::MediaVolumeDecrement,
334                786980 => Self::AcBack,
335                786983 => Self::AcRefresh,
336                786992 => Self::AcFullScreenView,
337                786850 => Self::AcSelectTaskApplication,
338                786543 => Self::BrightnessDown,
339                786544 => Self::BrightnessUp,
340                4294901761 => Self::Assistant,
341                4294901762 => Self::Power,
342                4294901763 => Self::Sleep,
343                4294901845 => Self::Unknown0055,
344                4294901846 => Self::Unknown0056,
345                4294901849 => Self::Unknown0059,
346                4294901852 => Self::Unknown005C,
347                4294901853 => Self::Unknown005D,
348                4294901854 => Self::Unknown005E,
349                4294901881 => Self::Unknown0079,
350                4294901882 => Self::Unknown007A,
351                4294901883 => Self::Unknown007B,
352                4294901884 => Self::Unknown007C,
353                4294901893 => Self::Unknown0085,
354                4294901895 => Self::Unknown0087,
355                4294901897 => Self::Unknown0089,
356                4294901916 => Self::Unknown009C,
357                4294901919 => Self::Unknown009F,
358                4294901920 => Self::Unknown00A0,
359                4294901922 => Self::Unknown00A2,
360                4294901923 => Self::Unknown00A3,
361                4294901925 => Self::Unknown00A5,
362                4294901926 => Self::Unknown00A6,
363                4294901927 => Self::Unknown00A7,
364                4294901928 => Self::Unknown00A8,
365                4294901929 => Self::Unknown00A9,
366                4294901933 => Self::Unknown00Ad,
367                4294901937 => Self::Unknown00B1,
368                4294901938 => Self::Unknown00B2,
369                4294901939 => Self::Unknown00B3,
370                4294901940 => Self::Unknown00B4,
371                4294901961 => Self::Unknown00C9,
372                4294901967 => Self::Unknown00Cf,
373                4294901968 => Self::Unknown00D0,
374                4294901972 => Self::Unknown00D4,
375                4294901986 => Self::Unknown00E2,
376                4294902048 => Self::Unknown0120,
377                4294902049 => Self::Unknown0121,
378                4294902050 => Self::Unknown0122,
379                4294902051 => Self::Unknown0123,
380                4294902052 => Self::Unknown0124,
381                4294902053 => Self::Unknown0125,
382                4294902054 => Self::Unknown0126,
383                4294902055 => Self::Unknown0127,
384                4294902056 => Self::Unknown0128,
385                4294902057 => Self::Unknown0129,
386                4294902058 => Self::Unknown012A,
387                4294902059 => Self::Unknown012B,
388                4294902060 => Self::Unknown012C,
389                4294902061 => Self::Unknown012D,
390                4294902062 => Self::Unknown012E,
391                4294902063 => Self::Unknown012F,
392                4294902064 => Self::Unknown0130,
393                4294902065 => Self::Unknown0131,
394                4294902066 => Self::Unknown0132,
395                4294902067 => Self::Unknown0133,
396                4294902068 => Self::Unknown0134,
397                4294902069 => Self::Unknown0135,
398                4294902070 => Self::Unknown0136,
399                4294902071 => Self::Unknown0137,
400                4294902072 => Self::Unknown0138,
401                4294902073 => Self::Unknown0139,
402                4294902074 => Self::Unknown013A,
403                4294902075 => Self::Unknown013B,
404                4294902076 => Self::Unknown013C,
405                4294902077 => Self::Unknown013D,
406                4294902078 => Self::Unknown013E,
407                4294902113 => Self::Unknown0161,
408                4294902122 => Self::Unknown016A,
409                4294902126 => Self::Unknown016E,
410                4294902130 => Self::Unknown0172,
411                4294902137 => Self::Unknown0179,
412                4294902158 => Self::Unknown018E,
413                4294902159 => Self::Unknown018F,
414                4294902160 => Self::Unknown0190,
415                4294902161 => Self::Unknown0191,
416                4294902162 => Self::Unknown0192,
417                4294902163 => Self::Unknown0193,
418                4294902165 => Self::Unknown0195,
419                4294902224 => Self::Unknown01D0,
420                4294902282 => Self::Unknown020A,
421                4294902283 => Self::Unknown020B,
422
423                _ => Self::UnknownOrdinal_(value),
424            }
425        }
426    }
427
428    unsafe impl<___E> ::fidl_next::Encode<crate::wire::Key, ___E> for Key
429    where
430        ___E: ?Sized,
431    {
432        #[inline]
433        fn encode(
434            self,
435            encoder: &mut ___E,
436            out: &mut ::core::mem::MaybeUninit<crate::wire::Key>,
437            _: (),
438        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
439            ::fidl_next::Encode::encode(&self, encoder, out, ())
440        }
441    }
442
443    unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::Key, ___E> for &'a Key
444    where
445        ___E: ?Sized,
446    {
447        #[inline]
448        fn encode(
449            self,
450            encoder: &mut ___E,
451            out: &mut ::core::mem::MaybeUninit<crate::wire::Key>,
452            _: (),
453        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
454            ::fidl_next::munge!(let crate::wire::Key { value } = out);
455            let _ = value.write(::fidl_next::wire::Uint32::from(match *self {
456                Key::Unknown => 0,
457
458                Key::A => 458756,
459
460                Key::B => 458757,
461
462                Key::C => 458758,
463
464                Key::D => 458759,
465
466                Key::E => 458760,
467
468                Key::F => 458761,
469
470                Key::G => 458762,
471
472                Key::H => 458763,
473
474                Key::I => 458764,
475
476                Key::J => 458765,
477
478                Key::K => 458766,
479
480                Key::L => 458767,
481
482                Key::M => 458768,
483
484                Key::N => 458769,
485
486                Key::O => 458770,
487
488                Key::P => 458771,
489
490                Key::Q => 458772,
491
492                Key::R => 458773,
493
494                Key::S => 458774,
495
496                Key::T => 458775,
497
498                Key::U => 458776,
499
500                Key::V => 458777,
501
502                Key::W => 458778,
503
504                Key::X => 458779,
505
506                Key::Y => 458780,
507
508                Key::Z => 458781,
509
510                Key::Key1 => 458782,
511
512                Key::Key2 => 458783,
513
514                Key::Key3 => 458784,
515
516                Key::Key4 => 458785,
517
518                Key::Key5 => 458786,
519
520                Key::Key6 => 458787,
521
522                Key::Key7 => 458788,
523
524                Key::Key8 => 458789,
525
526                Key::Key9 => 458790,
527
528                Key::Key0 => 458791,
529
530                Key::Enter => 458792,
531
532                Key::Escape => 458793,
533
534                Key::Backspace => 458794,
535
536                Key::Tab => 458795,
537
538                Key::Space => 458796,
539
540                Key::Minus => 458797,
541
542                Key::Equals => 458798,
543
544                Key::LeftBrace => 458799,
545
546                Key::RightBrace => 458800,
547
548                Key::Backslash => 458801,
549
550                Key::NonUsHash => 458802,
551
552                Key::Semicolon => 458803,
553
554                Key::Apostrophe => 458804,
555
556                Key::GraveAccent => 458805,
557
558                Key::Comma => 458806,
559
560                Key::Dot => 458807,
561
562                Key::Slash => 458808,
563
564                Key::CapsLock => 458809,
565
566                Key::F1 => 458810,
567
568                Key::F2 => 458811,
569
570                Key::F3 => 458812,
571
572                Key::F4 => 458813,
573
574                Key::F5 => 458814,
575
576                Key::F6 => 458815,
577
578                Key::F7 => 458816,
579
580                Key::F8 => 458817,
581
582                Key::F9 => 458818,
583
584                Key::F10 => 458819,
585
586                Key::F11 => 458820,
587
588                Key::F12 => 458821,
589
590                Key::PrintScreen => 458822,
591
592                Key::ScrollLock => 458823,
593
594                Key::Pause => 458824,
595
596                Key::Insert => 458825,
597
598                Key::Home => 458826,
599
600                Key::PageUp => 458827,
601
602                Key::Delete => 458828,
603
604                Key::End => 458829,
605
606                Key::PageDown => 458830,
607
608                Key::Right => 458831,
609
610                Key::Left => 458832,
611
612                Key::Down => 458833,
613
614                Key::Up => 458834,
615
616                Key::NumLock => 458835,
617
618                Key::KeypadSlash => 458836,
619
620                Key::KeypadAsterisk => 458837,
621
622                Key::KeypadMinus => 458838,
623
624                Key::KeypadPlus => 458839,
625
626                Key::KeypadEnter => 458840,
627
628                Key::Keypad1 => 458841,
629
630                Key::Keypad2 => 458842,
631
632                Key::Keypad3 => 458843,
633
634                Key::Keypad4 => 458844,
635
636                Key::Keypad5 => 458845,
637
638                Key::Keypad6 => 458846,
639
640                Key::Keypad7 => 458847,
641
642                Key::Keypad8 => 458848,
643
644                Key::Keypad9 => 458849,
645
646                Key::Keypad0 => 458850,
647
648                Key::KeypadDot => 458851,
649
650                Key::NonUsBackslash => 458852,
651
652                Key::KeypadEquals => 458855,
653
654                Key::Menu => 458870,
655
656                Key::LeftCtrl => 458976,
657
658                Key::LeftShift => 458977,
659
660                Key::LeftAlt => 458978,
661
662                Key::LeftMeta => 458979,
663
664                Key::RightCtrl => 458980,
665
666                Key::RightShift => 458981,
667
668                Key::RightAlt => 458982,
669
670                Key::RightMeta => 458983,
671
672                Key::Mute => 458879,
673
674                Key::VolumeDown => 458881,
675
676                Key::VolumeUp => 458880,
677
678                Key::PlayPause => 786637,
679
680                Key::MediaMute => 786658,
681
682                Key::MediaVolumeIncrement => 786665,
683
684                Key::MediaVolumeDecrement => 786666,
685
686                Key::AcBack => 786980,
687
688                Key::AcRefresh => 786983,
689
690                Key::AcFullScreenView => 786992,
691
692                Key::AcSelectTaskApplication => 786850,
693
694                Key::BrightnessDown => 786543,
695
696                Key::BrightnessUp => 786544,
697
698                Key::Assistant => 4294901761,
699
700                Key::Power => 4294901762,
701
702                Key::Sleep => 4294901763,
703
704                Key::Unknown0055 => 4294901845,
705
706                Key::Unknown0056 => 4294901846,
707
708                Key::Unknown0059 => 4294901849,
709
710                Key::Unknown005C => 4294901852,
711
712                Key::Unknown005D => 4294901853,
713
714                Key::Unknown005E => 4294901854,
715
716                Key::Unknown0079 => 4294901881,
717
718                Key::Unknown007A => 4294901882,
719
720                Key::Unknown007B => 4294901883,
721
722                Key::Unknown007C => 4294901884,
723
724                Key::Unknown0085 => 4294901893,
725
726                Key::Unknown0087 => 4294901895,
727
728                Key::Unknown0089 => 4294901897,
729
730                Key::Unknown009C => 4294901916,
731
732                Key::Unknown009F => 4294901919,
733
734                Key::Unknown00A0 => 4294901920,
735
736                Key::Unknown00A2 => 4294901922,
737
738                Key::Unknown00A3 => 4294901923,
739
740                Key::Unknown00A5 => 4294901925,
741
742                Key::Unknown00A6 => 4294901926,
743
744                Key::Unknown00A7 => 4294901927,
745
746                Key::Unknown00A8 => 4294901928,
747
748                Key::Unknown00A9 => 4294901929,
749
750                Key::Unknown00Ad => 4294901933,
751
752                Key::Unknown00B1 => 4294901937,
753
754                Key::Unknown00B2 => 4294901938,
755
756                Key::Unknown00B3 => 4294901939,
757
758                Key::Unknown00B4 => 4294901940,
759
760                Key::Unknown00C9 => 4294901961,
761
762                Key::Unknown00Cf => 4294901967,
763
764                Key::Unknown00D0 => 4294901968,
765
766                Key::Unknown00D4 => 4294901972,
767
768                Key::Unknown00E2 => 4294901986,
769
770                Key::Unknown0120 => 4294902048,
771
772                Key::Unknown0121 => 4294902049,
773
774                Key::Unknown0122 => 4294902050,
775
776                Key::Unknown0123 => 4294902051,
777
778                Key::Unknown0124 => 4294902052,
779
780                Key::Unknown0125 => 4294902053,
781
782                Key::Unknown0126 => 4294902054,
783
784                Key::Unknown0127 => 4294902055,
785
786                Key::Unknown0128 => 4294902056,
787
788                Key::Unknown0129 => 4294902057,
789
790                Key::Unknown012A => 4294902058,
791
792                Key::Unknown012B => 4294902059,
793
794                Key::Unknown012C => 4294902060,
795
796                Key::Unknown012D => 4294902061,
797
798                Key::Unknown012E => 4294902062,
799
800                Key::Unknown012F => 4294902063,
801
802                Key::Unknown0130 => 4294902064,
803
804                Key::Unknown0131 => 4294902065,
805
806                Key::Unknown0132 => 4294902066,
807
808                Key::Unknown0133 => 4294902067,
809
810                Key::Unknown0134 => 4294902068,
811
812                Key::Unknown0135 => 4294902069,
813
814                Key::Unknown0136 => 4294902070,
815
816                Key::Unknown0137 => 4294902071,
817
818                Key::Unknown0138 => 4294902072,
819
820                Key::Unknown0139 => 4294902073,
821
822                Key::Unknown013A => 4294902074,
823
824                Key::Unknown013B => 4294902075,
825
826                Key::Unknown013C => 4294902076,
827
828                Key::Unknown013D => 4294902077,
829
830                Key::Unknown013E => 4294902078,
831
832                Key::Unknown0161 => 4294902113,
833
834                Key::Unknown016A => 4294902122,
835
836                Key::Unknown016E => 4294902126,
837
838                Key::Unknown0172 => 4294902130,
839
840                Key::Unknown0179 => 4294902137,
841
842                Key::Unknown018E => 4294902158,
843
844                Key::Unknown018F => 4294902159,
845
846                Key::Unknown0190 => 4294902160,
847
848                Key::Unknown0191 => 4294902161,
849
850                Key::Unknown0192 => 4294902162,
851
852                Key::Unknown0193 => 4294902163,
853
854                Key::Unknown0195 => 4294902165,
855
856                Key::Unknown01D0 => 4294902224,
857
858                Key::Unknown020A => 4294902282,
859
860                Key::Unknown020B => 4294902283,
861
862                Key::UnknownOrdinal_(value) => value,
863            }));
864
865            Ok(())
866        }
867    }
868
869    impl ::core::convert::From<crate::wire::Key> for Key {
870        fn from(wire: crate::wire::Key) -> Self {
871            match u32::from(wire.value) {
872                0 => Self::Unknown,
873
874                458756 => Self::A,
875
876                458757 => Self::B,
877
878                458758 => Self::C,
879
880                458759 => Self::D,
881
882                458760 => Self::E,
883
884                458761 => Self::F,
885
886                458762 => Self::G,
887
888                458763 => Self::H,
889
890                458764 => Self::I,
891
892                458765 => Self::J,
893
894                458766 => Self::K,
895
896                458767 => Self::L,
897
898                458768 => Self::M,
899
900                458769 => Self::N,
901
902                458770 => Self::O,
903
904                458771 => Self::P,
905
906                458772 => Self::Q,
907
908                458773 => Self::R,
909
910                458774 => Self::S,
911
912                458775 => Self::T,
913
914                458776 => Self::U,
915
916                458777 => Self::V,
917
918                458778 => Self::W,
919
920                458779 => Self::X,
921
922                458780 => Self::Y,
923
924                458781 => Self::Z,
925
926                458782 => Self::Key1,
927
928                458783 => Self::Key2,
929
930                458784 => Self::Key3,
931
932                458785 => Self::Key4,
933
934                458786 => Self::Key5,
935
936                458787 => Self::Key6,
937
938                458788 => Self::Key7,
939
940                458789 => Self::Key8,
941
942                458790 => Self::Key9,
943
944                458791 => Self::Key0,
945
946                458792 => Self::Enter,
947
948                458793 => Self::Escape,
949
950                458794 => Self::Backspace,
951
952                458795 => Self::Tab,
953
954                458796 => Self::Space,
955
956                458797 => Self::Minus,
957
958                458798 => Self::Equals,
959
960                458799 => Self::LeftBrace,
961
962                458800 => Self::RightBrace,
963
964                458801 => Self::Backslash,
965
966                458802 => Self::NonUsHash,
967
968                458803 => Self::Semicolon,
969
970                458804 => Self::Apostrophe,
971
972                458805 => Self::GraveAccent,
973
974                458806 => Self::Comma,
975
976                458807 => Self::Dot,
977
978                458808 => Self::Slash,
979
980                458809 => Self::CapsLock,
981
982                458810 => Self::F1,
983
984                458811 => Self::F2,
985
986                458812 => Self::F3,
987
988                458813 => Self::F4,
989
990                458814 => Self::F5,
991
992                458815 => Self::F6,
993
994                458816 => Self::F7,
995
996                458817 => Self::F8,
997
998                458818 => Self::F9,
999
1000                458819 => Self::F10,
1001
1002                458820 => Self::F11,
1003
1004                458821 => Self::F12,
1005
1006                458822 => Self::PrintScreen,
1007
1008                458823 => Self::ScrollLock,
1009
1010                458824 => Self::Pause,
1011
1012                458825 => Self::Insert,
1013
1014                458826 => Self::Home,
1015
1016                458827 => Self::PageUp,
1017
1018                458828 => Self::Delete,
1019
1020                458829 => Self::End,
1021
1022                458830 => Self::PageDown,
1023
1024                458831 => Self::Right,
1025
1026                458832 => Self::Left,
1027
1028                458833 => Self::Down,
1029
1030                458834 => Self::Up,
1031
1032                458835 => Self::NumLock,
1033
1034                458836 => Self::KeypadSlash,
1035
1036                458837 => Self::KeypadAsterisk,
1037
1038                458838 => Self::KeypadMinus,
1039
1040                458839 => Self::KeypadPlus,
1041
1042                458840 => Self::KeypadEnter,
1043
1044                458841 => Self::Keypad1,
1045
1046                458842 => Self::Keypad2,
1047
1048                458843 => Self::Keypad3,
1049
1050                458844 => Self::Keypad4,
1051
1052                458845 => Self::Keypad5,
1053
1054                458846 => Self::Keypad6,
1055
1056                458847 => Self::Keypad7,
1057
1058                458848 => Self::Keypad8,
1059
1060                458849 => Self::Keypad9,
1061
1062                458850 => Self::Keypad0,
1063
1064                458851 => Self::KeypadDot,
1065
1066                458852 => Self::NonUsBackslash,
1067
1068                458855 => Self::KeypadEquals,
1069
1070                458870 => Self::Menu,
1071
1072                458976 => Self::LeftCtrl,
1073
1074                458977 => Self::LeftShift,
1075
1076                458978 => Self::LeftAlt,
1077
1078                458979 => Self::LeftMeta,
1079
1080                458980 => Self::RightCtrl,
1081
1082                458981 => Self::RightShift,
1083
1084                458982 => Self::RightAlt,
1085
1086                458983 => Self::RightMeta,
1087
1088                458879 => Self::Mute,
1089
1090                458881 => Self::VolumeDown,
1091
1092                458880 => Self::VolumeUp,
1093
1094                786637 => Self::PlayPause,
1095
1096                786658 => Self::MediaMute,
1097
1098                786665 => Self::MediaVolumeIncrement,
1099
1100                786666 => Self::MediaVolumeDecrement,
1101
1102                786980 => Self::AcBack,
1103
1104                786983 => Self::AcRefresh,
1105
1106                786992 => Self::AcFullScreenView,
1107
1108                786850 => Self::AcSelectTaskApplication,
1109
1110                786543 => Self::BrightnessDown,
1111
1112                786544 => Self::BrightnessUp,
1113
1114                4294901761 => Self::Assistant,
1115
1116                4294901762 => Self::Power,
1117
1118                4294901763 => Self::Sleep,
1119
1120                4294901845 => Self::Unknown0055,
1121
1122                4294901846 => Self::Unknown0056,
1123
1124                4294901849 => Self::Unknown0059,
1125
1126                4294901852 => Self::Unknown005C,
1127
1128                4294901853 => Self::Unknown005D,
1129
1130                4294901854 => Self::Unknown005E,
1131
1132                4294901881 => Self::Unknown0079,
1133
1134                4294901882 => Self::Unknown007A,
1135
1136                4294901883 => Self::Unknown007B,
1137
1138                4294901884 => Self::Unknown007C,
1139
1140                4294901893 => Self::Unknown0085,
1141
1142                4294901895 => Self::Unknown0087,
1143
1144                4294901897 => Self::Unknown0089,
1145
1146                4294901916 => Self::Unknown009C,
1147
1148                4294901919 => Self::Unknown009F,
1149
1150                4294901920 => Self::Unknown00A0,
1151
1152                4294901922 => Self::Unknown00A2,
1153
1154                4294901923 => Self::Unknown00A3,
1155
1156                4294901925 => Self::Unknown00A5,
1157
1158                4294901926 => Self::Unknown00A6,
1159
1160                4294901927 => Self::Unknown00A7,
1161
1162                4294901928 => Self::Unknown00A8,
1163
1164                4294901929 => Self::Unknown00A9,
1165
1166                4294901933 => Self::Unknown00Ad,
1167
1168                4294901937 => Self::Unknown00B1,
1169
1170                4294901938 => Self::Unknown00B2,
1171
1172                4294901939 => Self::Unknown00B3,
1173
1174                4294901940 => Self::Unknown00B4,
1175
1176                4294901961 => Self::Unknown00C9,
1177
1178                4294901967 => Self::Unknown00Cf,
1179
1180                4294901968 => Self::Unknown00D0,
1181
1182                4294901972 => Self::Unknown00D4,
1183
1184                4294901986 => Self::Unknown00E2,
1185
1186                4294902048 => Self::Unknown0120,
1187
1188                4294902049 => Self::Unknown0121,
1189
1190                4294902050 => Self::Unknown0122,
1191
1192                4294902051 => Self::Unknown0123,
1193
1194                4294902052 => Self::Unknown0124,
1195
1196                4294902053 => Self::Unknown0125,
1197
1198                4294902054 => Self::Unknown0126,
1199
1200                4294902055 => Self::Unknown0127,
1201
1202                4294902056 => Self::Unknown0128,
1203
1204                4294902057 => Self::Unknown0129,
1205
1206                4294902058 => Self::Unknown012A,
1207
1208                4294902059 => Self::Unknown012B,
1209
1210                4294902060 => Self::Unknown012C,
1211
1212                4294902061 => Self::Unknown012D,
1213
1214                4294902062 => Self::Unknown012E,
1215
1216                4294902063 => Self::Unknown012F,
1217
1218                4294902064 => Self::Unknown0130,
1219
1220                4294902065 => Self::Unknown0131,
1221
1222                4294902066 => Self::Unknown0132,
1223
1224                4294902067 => Self::Unknown0133,
1225
1226                4294902068 => Self::Unknown0134,
1227
1228                4294902069 => Self::Unknown0135,
1229
1230                4294902070 => Self::Unknown0136,
1231
1232                4294902071 => Self::Unknown0137,
1233
1234                4294902072 => Self::Unknown0138,
1235
1236                4294902073 => Self::Unknown0139,
1237
1238                4294902074 => Self::Unknown013A,
1239
1240                4294902075 => Self::Unknown013B,
1241
1242                4294902076 => Self::Unknown013C,
1243
1244                4294902077 => Self::Unknown013D,
1245
1246                4294902078 => Self::Unknown013E,
1247
1248                4294902113 => Self::Unknown0161,
1249
1250                4294902122 => Self::Unknown016A,
1251
1252                4294902126 => Self::Unknown016E,
1253
1254                4294902130 => Self::Unknown0172,
1255
1256                4294902137 => Self::Unknown0179,
1257
1258                4294902158 => Self::Unknown018E,
1259
1260                4294902159 => Self::Unknown018F,
1261
1262                4294902160 => Self::Unknown0190,
1263
1264                4294902161 => Self::Unknown0191,
1265
1266                4294902162 => Self::Unknown0192,
1267
1268                4294902163 => Self::Unknown0193,
1269
1270                4294902165 => Self::Unknown0195,
1271
1272                4294902224 => Self::Unknown01D0,
1273
1274                4294902282 => Self::Unknown020A,
1275
1276                4294902283 => Self::Unknown020B,
1277
1278                value => Self::UnknownOrdinal_(value),
1279            }
1280        }
1281    }
1282
1283    impl ::fidl_next::FromWire<crate::wire::Key> for Key {
1284        #[inline]
1285        fn from_wire(wire: crate::wire::Key) -> Self {
1286            Self::from(wire)
1287        }
1288    }
1289
1290    impl ::fidl_next::FromWireRef<crate::wire::Key> for Key {
1291        #[inline]
1292        fn from_wire_ref(wire: &crate::wire::Key) -> Self {
1293            Self::from(*wire)
1294        }
1295    }
1296
1297    #[doc = " Keymaps that should always be present and selectable.  The fallback keymaps\n may be useful on their own but are mainly here to ensure that at least some\n keymap is present if no other custom keymaps have been defined or in use.\n"]
1298    #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1299    #[repr(u32)]
1300    pub enum KeymapId {
1301        UsQwerty = 0,
1302        FrAzerty = 1,
1303        UsDvorak = 2,
1304        UsColemak = 3,
1305        UnknownOrdinal_(u32) = 4,
1306    }
1307    impl ::std::convert::From<u32> for KeymapId {
1308        fn from(value: u32) -> Self {
1309            match value {
1310                0 => Self::UsQwerty,
1311                1 => Self::FrAzerty,
1312                2 => Self::UsDvorak,
1313                3 => Self::UsColemak,
1314
1315                _ => Self::UnknownOrdinal_(value),
1316            }
1317        }
1318    }
1319
1320    unsafe impl<___E> ::fidl_next::Encode<crate::wire::KeymapId, ___E> for KeymapId
1321    where
1322        ___E: ?Sized,
1323    {
1324        #[inline]
1325        fn encode(
1326            self,
1327            encoder: &mut ___E,
1328            out: &mut ::core::mem::MaybeUninit<crate::wire::KeymapId>,
1329            _: (),
1330        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1331            ::fidl_next::Encode::encode(&self, encoder, out, ())
1332        }
1333    }
1334
1335    unsafe impl<'a, ___E> ::fidl_next::Encode<crate::wire::KeymapId, ___E> for &'a KeymapId
1336    where
1337        ___E: ?Sized,
1338    {
1339        #[inline]
1340        fn encode(
1341            self,
1342            encoder: &mut ___E,
1343            out: &mut ::core::mem::MaybeUninit<crate::wire::KeymapId>,
1344            _: (),
1345        ) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
1346            ::fidl_next::munge!(let crate::wire::KeymapId { value } = out);
1347            let _ = value.write(::fidl_next::wire::Uint32::from(match *self {
1348                KeymapId::UsQwerty => 0,
1349
1350                KeymapId::FrAzerty => 1,
1351
1352                KeymapId::UsDvorak => 2,
1353
1354                KeymapId::UsColemak => 3,
1355
1356                KeymapId::UnknownOrdinal_(value) => value,
1357            }));
1358
1359            Ok(())
1360        }
1361    }
1362
1363    impl ::core::convert::From<crate::wire::KeymapId> for KeymapId {
1364        fn from(wire: crate::wire::KeymapId) -> Self {
1365            match u32::from(wire.value) {
1366                0 => Self::UsQwerty,
1367
1368                1 => Self::FrAzerty,
1369
1370                2 => Self::UsDvorak,
1371
1372                3 => Self::UsColemak,
1373
1374                value => Self::UnknownOrdinal_(value),
1375            }
1376        }
1377    }
1378
1379    impl ::fidl_next::FromWire<crate::wire::KeymapId> for KeymapId {
1380        #[inline]
1381        fn from_wire(wire: crate::wire::KeymapId) -> Self {
1382            Self::from(wire)
1383        }
1384    }
1385
1386    impl ::fidl_next::FromWireRef<crate::wire::KeymapId> for KeymapId {
1387        #[inline]
1388        fn from_wire_ref(wire: &crate::wire::KeymapId) -> Self {
1389            Self::from(*wire)
1390        }
1391    }
1392}
1393
1394pub mod wire {
1395
1396    /// The wire type corresponding to [`Key`].
1397    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
1398    #[repr(transparent)]
1399    pub struct Key {
1400        pub(crate) value: ::fidl_next::wire::Uint32,
1401    }
1402
1403    impl ::fidl_next::Constrained for Key {
1404        type Constraint = ();
1405
1406        fn validate(
1407            _: ::fidl_next::Slot<'_, Self>,
1408            _: Self::Constraint,
1409        ) -> Result<(), ::fidl_next::ValidationError> {
1410            Ok(())
1411        }
1412    }
1413
1414    unsafe impl ::fidl_next::Wire for Key {
1415        type Narrowed<'de> = Self;
1416
1417        #[inline]
1418        fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
1419            // Wire enums have no padding
1420        }
1421    }
1422
1423    impl Key {
1424        pub const UNKNOWN: Key = Key { value: ::fidl_next::wire::Uint32(0) };
1425
1426        pub const A: Key = Key { value: ::fidl_next::wire::Uint32(458756) };
1427
1428        pub const B: Key = Key { value: ::fidl_next::wire::Uint32(458757) };
1429
1430        pub const C: Key = Key { value: ::fidl_next::wire::Uint32(458758) };
1431
1432        pub const D: Key = Key { value: ::fidl_next::wire::Uint32(458759) };
1433
1434        pub const E: Key = Key { value: ::fidl_next::wire::Uint32(458760) };
1435
1436        pub const F: Key = Key { value: ::fidl_next::wire::Uint32(458761) };
1437
1438        pub const G: Key = Key { value: ::fidl_next::wire::Uint32(458762) };
1439
1440        pub const H: Key = Key { value: ::fidl_next::wire::Uint32(458763) };
1441
1442        pub const I: Key = Key { value: ::fidl_next::wire::Uint32(458764) };
1443
1444        pub const J: Key = Key { value: ::fidl_next::wire::Uint32(458765) };
1445
1446        pub const K: Key = Key { value: ::fidl_next::wire::Uint32(458766) };
1447
1448        pub const L: Key = Key { value: ::fidl_next::wire::Uint32(458767) };
1449
1450        pub const M: Key = Key { value: ::fidl_next::wire::Uint32(458768) };
1451
1452        pub const N: Key = Key { value: ::fidl_next::wire::Uint32(458769) };
1453
1454        pub const O: Key = Key { value: ::fidl_next::wire::Uint32(458770) };
1455
1456        pub const P: Key = Key { value: ::fidl_next::wire::Uint32(458771) };
1457
1458        pub const Q: Key = Key { value: ::fidl_next::wire::Uint32(458772) };
1459
1460        pub const R: Key = Key { value: ::fidl_next::wire::Uint32(458773) };
1461
1462        pub const S: Key = Key { value: ::fidl_next::wire::Uint32(458774) };
1463
1464        pub const T: Key = Key { value: ::fidl_next::wire::Uint32(458775) };
1465
1466        pub const U: Key = Key { value: ::fidl_next::wire::Uint32(458776) };
1467
1468        pub const V: Key = Key { value: ::fidl_next::wire::Uint32(458777) };
1469
1470        pub const W: Key = Key { value: ::fidl_next::wire::Uint32(458778) };
1471
1472        pub const X: Key = Key { value: ::fidl_next::wire::Uint32(458779) };
1473
1474        pub const Y: Key = Key { value: ::fidl_next::wire::Uint32(458780) };
1475
1476        pub const Z: Key = Key { value: ::fidl_next::wire::Uint32(458781) };
1477
1478        pub const KEY_1: Key = Key { value: ::fidl_next::wire::Uint32(458782) };
1479
1480        pub const KEY_2: Key = Key { value: ::fidl_next::wire::Uint32(458783) };
1481
1482        pub const KEY_3: Key = Key { value: ::fidl_next::wire::Uint32(458784) };
1483
1484        pub const KEY_4: Key = Key { value: ::fidl_next::wire::Uint32(458785) };
1485
1486        pub const KEY_5: Key = Key { value: ::fidl_next::wire::Uint32(458786) };
1487
1488        pub const KEY_6: Key = Key { value: ::fidl_next::wire::Uint32(458787) };
1489
1490        pub const KEY_7: Key = Key { value: ::fidl_next::wire::Uint32(458788) };
1491
1492        pub const KEY_8: Key = Key { value: ::fidl_next::wire::Uint32(458789) };
1493
1494        pub const KEY_9: Key = Key { value: ::fidl_next::wire::Uint32(458790) };
1495
1496        pub const KEY_0: Key = Key { value: ::fidl_next::wire::Uint32(458791) };
1497
1498        pub const ENTER: Key = Key { value: ::fidl_next::wire::Uint32(458792) };
1499
1500        pub const ESCAPE: Key = Key { value: ::fidl_next::wire::Uint32(458793) };
1501
1502        pub const BACKSPACE: Key = Key { value: ::fidl_next::wire::Uint32(458794) };
1503
1504        pub const TAB: Key = Key { value: ::fidl_next::wire::Uint32(458795) };
1505
1506        pub const SPACE: Key = Key { value: ::fidl_next::wire::Uint32(458796) };
1507
1508        pub const MINUS: Key = Key { value: ::fidl_next::wire::Uint32(458797) };
1509
1510        pub const EQUALS: Key = Key { value: ::fidl_next::wire::Uint32(458798) };
1511
1512        pub const LEFT_BRACE: Key = Key { value: ::fidl_next::wire::Uint32(458799) };
1513
1514        pub const RIGHT_BRACE: Key = Key { value: ::fidl_next::wire::Uint32(458800) };
1515
1516        pub const BACKSLASH: Key = Key { value: ::fidl_next::wire::Uint32(458801) };
1517
1518        pub const NON_US_HASH: Key = Key { value: ::fidl_next::wire::Uint32(458802) };
1519
1520        pub const SEMICOLON: Key = Key { value: ::fidl_next::wire::Uint32(458803) };
1521
1522        pub const APOSTROPHE: Key = Key { value: ::fidl_next::wire::Uint32(458804) };
1523
1524        pub const GRAVE_ACCENT: Key = Key { value: ::fidl_next::wire::Uint32(458805) };
1525
1526        pub const COMMA: Key = Key { value: ::fidl_next::wire::Uint32(458806) };
1527
1528        pub const DOT: Key = Key { value: ::fidl_next::wire::Uint32(458807) };
1529
1530        pub const SLASH: Key = Key { value: ::fidl_next::wire::Uint32(458808) };
1531
1532        pub const CAPS_LOCK: Key = Key { value: ::fidl_next::wire::Uint32(458809) };
1533
1534        pub const F1: Key = Key { value: ::fidl_next::wire::Uint32(458810) };
1535
1536        pub const F2: Key = Key { value: ::fidl_next::wire::Uint32(458811) };
1537
1538        pub const F3: Key = Key { value: ::fidl_next::wire::Uint32(458812) };
1539
1540        pub const F4: Key = Key { value: ::fidl_next::wire::Uint32(458813) };
1541
1542        pub const F5: Key = Key { value: ::fidl_next::wire::Uint32(458814) };
1543
1544        pub const F6: Key = Key { value: ::fidl_next::wire::Uint32(458815) };
1545
1546        pub const F7: Key = Key { value: ::fidl_next::wire::Uint32(458816) };
1547
1548        pub const F8: Key = Key { value: ::fidl_next::wire::Uint32(458817) };
1549
1550        pub const F9: Key = Key { value: ::fidl_next::wire::Uint32(458818) };
1551
1552        pub const F10: Key = Key { value: ::fidl_next::wire::Uint32(458819) };
1553
1554        pub const F11: Key = Key { value: ::fidl_next::wire::Uint32(458820) };
1555
1556        pub const F12: Key = Key { value: ::fidl_next::wire::Uint32(458821) };
1557
1558        pub const PRINT_SCREEN: Key = Key { value: ::fidl_next::wire::Uint32(458822) };
1559
1560        pub const SCROLL_LOCK: Key = Key { value: ::fidl_next::wire::Uint32(458823) };
1561
1562        pub const PAUSE: Key = Key { value: ::fidl_next::wire::Uint32(458824) };
1563
1564        pub const INSERT: Key = Key { value: ::fidl_next::wire::Uint32(458825) };
1565
1566        pub const HOME: Key = Key { value: ::fidl_next::wire::Uint32(458826) };
1567
1568        pub const PAGE_UP: Key = Key { value: ::fidl_next::wire::Uint32(458827) };
1569
1570        pub const DELETE: Key = Key { value: ::fidl_next::wire::Uint32(458828) };
1571
1572        pub const END: Key = Key { value: ::fidl_next::wire::Uint32(458829) };
1573
1574        pub const PAGE_DOWN: Key = Key { value: ::fidl_next::wire::Uint32(458830) };
1575
1576        pub const RIGHT: Key = Key { value: ::fidl_next::wire::Uint32(458831) };
1577
1578        pub const LEFT: Key = Key { value: ::fidl_next::wire::Uint32(458832) };
1579
1580        pub const DOWN: Key = Key { value: ::fidl_next::wire::Uint32(458833) };
1581
1582        pub const UP: Key = Key { value: ::fidl_next::wire::Uint32(458834) };
1583
1584        pub const NUM_LOCK: Key = Key { value: ::fidl_next::wire::Uint32(458835) };
1585
1586        pub const KEYPAD_SLASH: Key = Key { value: ::fidl_next::wire::Uint32(458836) };
1587
1588        pub const KEYPAD_ASTERISK: Key = Key { value: ::fidl_next::wire::Uint32(458837) };
1589
1590        pub const KEYPAD_MINUS: Key = Key { value: ::fidl_next::wire::Uint32(458838) };
1591
1592        pub const KEYPAD_PLUS: Key = Key { value: ::fidl_next::wire::Uint32(458839) };
1593
1594        pub const KEYPAD_ENTER: Key = Key { value: ::fidl_next::wire::Uint32(458840) };
1595
1596        pub const KEYPAD_1: Key = Key { value: ::fidl_next::wire::Uint32(458841) };
1597
1598        pub const KEYPAD_2: Key = Key { value: ::fidl_next::wire::Uint32(458842) };
1599
1600        pub const KEYPAD_3: Key = Key { value: ::fidl_next::wire::Uint32(458843) };
1601
1602        pub const KEYPAD_4: Key = Key { value: ::fidl_next::wire::Uint32(458844) };
1603
1604        pub const KEYPAD_5: Key = Key { value: ::fidl_next::wire::Uint32(458845) };
1605
1606        pub const KEYPAD_6: Key = Key { value: ::fidl_next::wire::Uint32(458846) };
1607
1608        pub const KEYPAD_7: Key = Key { value: ::fidl_next::wire::Uint32(458847) };
1609
1610        pub const KEYPAD_8: Key = Key { value: ::fidl_next::wire::Uint32(458848) };
1611
1612        pub const KEYPAD_9: Key = Key { value: ::fidl_next::wire::Uint32(458849) };
1613
1614        pub const KEYPAD_0: Key = Key { value: ::fidl_next::wire::Uint32(458850) };
1615
1616        pub const KEYPAD_DOT: Key = Key { value: ::fidl_next::wire::Uint32(458851) };
1617
1618        pub const NON_US_BACKSLASH: Key = Key { value: ::fidl_next::wire::Uint32(458852) };
1619
1620        pub const KEYPAD_EQUALS: Key = Key { value: ::fidl_next::wire::Uint32(458855) };
1621
1622        pub const MENU: Key = Key { value: ::fidl_next::wire::Uint32(458870) };
1623
1624        pub const LEFT_CTRL: Key = Key { value: ::fidl_next::wire::Uint32(458976) };
1625
1626        pub const LEFT_SHIFT: Key = Key { value: ::fidl_next::wire::Uint32(458977) };
1627
1628        pub const LEFT_ALT: Key = Key { value: ::fidl_next::wire::Uint32(458978) };
1629
1630        pub const LEFT_META: Key = Key { value: ::fidl_next::wire::Uint32(458979) };
1631
1632        pub const RIGHT_CTRL: Key = Key { value: ::fidl_next::wire::Uint32(458980) };
1633
1634        pub const RIGHT_SHIFT: Key = Key { value: ::fidl_next::wire::Uint32(458981) };
1635
1636        pub const RIGHT_ALT: Key = Key { value: ::fidl_next::wire::Uint32(458982) };
1637
1638        pub const RIGHT_META: Key = Key { value: ::fidl_next::wire::Uint32(458983) };
1639
1640        pub const MUTE: Key = Key { value: ::fidl_next::wire::Uint32(458879) };
1641
1642        pub const VOLUME_DOWN: Key = Key { value: ::fidl_next::wire::Uint32(458881) };
1643
1644        pub const VOLUME_UP: Key = Key { value: ::fidl_next::wire::Uint32(458880) };
1645
1646        pub const PLAY_PAUSE: Key = Key { value: ::fidl_next::wire::Uint32(786637) };
1647
1648        pub const MEDIA_MUTE: Key = Key { value: ::fidl_next::wire::Uint32(786658) };
1649
1650        pub const MEDIA_VOLUME_INCREMENT: Key = Key { value: ::fidl_next::wire::Uint32(786665) };
1651
1652        pub const MEDIA_VOLUME_DECREMENT: Key = Key { value: ::fidl_next::wire::Uint32(786666) };
1653
1654        pub const AC_BACK: Key = Key { value: ::fidl_next::wire::Uint32(786980) };
1655
1656        pub const AC_REFRESH: Key = Key { value: ::fidl_next::wire::Uint32(786983) };
1657
1658        pub const AC_FULL_SCREEN_VIEW: Key = Key { value: ::fidl_next::wire::Uint32(786992) };
1659
1660        pub const AC_SELECT_TASK_APPLICATION: Key =
1661            Key { value: ::fidl_next::wire::Uint32(786850) };
1662
1663        pub const BRIGHTNESS_DOWN: Key = Key { value: ::fidl_next::wire::Uint32(786543) };
1664
1665        pub const BRIGHTNESS_UP: Key = Key { value: ::fidl_next::wire::Uint32(786544) };
1666
1667        pub const ASSISTANT: Key = Key { value: ::fidl_next::wire::Uint32(4294901761) };
1668
1669        pub const POWER: Key = Key { value: ::fidl_next::wire::Uint32(4294901762) };
1670
1671        pub const SLEEP: Key = Key { value: ::fidl_next::wire::Uint32(4294901763) };
1672
1673        pub const UNKNOWN_0055: Key = Key { value: ::fidl_next::wire::Uint32(4294901845) };
1674
1675        pub const UNKNOWN_0056: Key = Key { value: ::fidl_next::wire::Uint32(4294901846) };
1676
1677        pub const UNKNOWN_0059: Key = Key { value: ::fidl_next::wire::Uint32(4294901849) };
1678
1679        pub const UNKNOWN_005_C: Key = Key { value: ::fidl_next::wire::Uint32(4294901852) };
1680
1681        pub const UNKNOWN_005_D: Key = Key { value: ::fidl_next::wire::Uint32(4294901853) };
1682
1683        pub const UNKNOWN_005_E: Key = Key { value: ::fidl_next::wire::Uint32(4294901854) };
1684
1685        pub const UNKNOWN_0079: Key = Key { value: ::fidl_next::wire::Uint32(4294901881) };
1686
1687        pub const UNKNOWN_007_A: Key = Key { value: ::fidl_next::wire::Uint32(4294901882) };
1688
1689        pub const UNKNOWN_007_B: Key = Key { value: ::fidl_next::wire::Uint32(4294901883) };
1690
1691        pub const UNKNOWN_007_C: Key = Key { value: ::fidl_next::wire::Uint32(4294901884) };
1692
1693        pub const UNKNOWN_0085: Key = Key { value: ::fidl_next::wire::Uint32(4294901893) };
1694
1695        pub const UNKNOWN_0087: Key = Key { value: ::fidl_next::wire::Uint32(4294901895) };
1696
1697        pub const UNKNOWN_0089: Key = Key { value: ::fidl_next::wire::Uint32(4294901897) };
1698
1699        pub const UNKNOWN_009_C: Key = Key { value: ::fidl_next::wire::Uint32(4294901916) };
1700
1701        pub const UNKNOWN_009_F: Key = Key { value: ::fidl_next::wire::Uint32(4294901919) };
1702
1703        pub const UNKNOWN_00_A0: Key = Key { value: ::fidl_next::wire::Uint32(4294901920) };
1704
1705        pub const UNKNOWN_00_A2: Key = Key { value: ::fidl_next::wire::Uint32(4294901922) };
1706
1707        pub const UNKNOWN_00_A3: Key = Key { value: ::fidl_next::wire::Uint32(4294901923) };
1708
1709        pub const UNKNOWN_00_A5: Key = Key { value: ::fidl_next::wire::Uint32(4294901925) };
1710
1711        pub const UNKNOWN_00_A6: Key = Key { value: ::fidl_next::wire::Uint32(4294901926) };
1712
1713        pub const UNKNOWN_00_A7: Key = Key { value: ::fidl_next::wire::Uint32(4294901927) };
1714
1715        pub const UNKNOWN_00_A8: Key = Key { value: ::fidl_next::wire::Uint32(4294901928) };
1716
1717        pub const UNKNOWN_00_A9: Key = Key { value: ::fidl_next::wire::Uint32(4294901929) };
1718
1719        pub const UNKNOWN_00_AD: Key = Key { value: ::fidl_next::wire::Uint32(4294901933) };
1720
1721        pub const UNKNOWN_00_B1: Key = Key { value: ::fidl_next::wire::Uint32(4294901937) };
1722
1723        pub const UNKNOWN_00_B2: Key = Key { value: ::fidl_next::wire::Uint32(4294901938) };
1724
1725        pub const UNKNOWN_00_B3: Key = Key { value: ::fidl_next::wire::Uint32(4294901939) };
1726
1727        pub const UNKNOWN_00_B4: Key = Key { value: ::fidl_next::wire::Uint32(4294901940) };
1728
1729        pub const UNKNOWN_00_C9: Key = Key { value: ::fidl_next::wire::Uint32(4294901961) };
1730
1731        pub const UNKNOWN_00_CF: Key = Key { value: ::fidl_next::wire::Uint32(4294901967) };
1732
1733        pub const UNKNOWN_00_D0: Key = Key { value: ::fidl_next::wire::Uint32(4294901968) };
1734
1735        pub const UNKNOWN_00_D4: Key = Key { value: ::fidl_next::wire::Uint32(4294901972) };
1736
1737        pub const UNKNOWN_00_E2: Key = Key { value: ::fidl_next::wire::Uint32(4294901986) };
1738
1739        pub const UNKNOWN_0120: Key = Key { value: ::fidl_next::wire::Uint32(4294902048) };
1740
1741        pub const UNKNOWN_0121: Key = Key { value: ::fidl_next::wire::Uint32(4294902049) };
1742
1743        pub const UNKNOWN_0122: Key = Key { value: ::fidl_next::wire::Uint32(4294902050) };
1744
1745        pub const UNKNOWN_0123: Key = Key { value: ::fidl_next::wire::Uint32(4294902051) };
1746
1747        pub const UNKNOWN_0124: Key = Key { value: ::fidl_next::wire::Uint32(4294902052) };
1748
1749        pub const UNKNOWN_0125: Key = Key { value: ::fidl_next::wire::Uint32(4294902053) };
1750
1751        pub const UNKNOWN_0126: Key = Key { value: ::fidl_next::wire::Uint32(4294902054) };
1752
1753        pub const UNKNOWN_0127: Key = Key { value: ::fidl_next::wire::Uint32(4294902055) };
1754
1755        pub const UNKNOWN_0128: Key = Key { value: ::fidl_next::wire::Uint32(4294902056) };
1756
1757        pub const UNKNOWN_0129: Key = Key { value: ::fidl_next::wire::Uint32(4294902057) };
1758
1759        pub const UNKNOWN_012_A: Key = Key { value: ::fidl_next::wire::Uint32(4294902058) };
1760
1761        pub const UNKNOWN_012_B: Key = Key { value: ::fidl_next::wire::Uint32(4294902059) };
1762
1763        pub const UNKNOWN_012_C: Key = Key { value: ::fidl_next::wire::Uint32(4294902060) };
1764
1765        pub const UNKNOWN_012_D: Key = Key { value: ::fidl_next::wire::Uint32(4294902061) };
1766
1767        pub const UNKNOWN_012_E: Key = Key { value: ::fidl_next::wire::Uint32(4294902062) };
1768
1769        pub const UNKNOWN_012_F: Key = Key { value: ::fidl_next::wire::Uint32(4294902063) };
1770
1771        pub const UNKNOWN_0130: Key = Key { value: ::fidl_next::wire::Uint32(4294902064) };
1772
1773        pub const UNKNOWN_0131: Key = Key { value: ::fidl_next::wire::Uint32(4294902065) };
1774
1775        pub const UNKNOWN_0132: Key = Key { value: ::fidl_next::wire::Uint32(4294902066) };
1776
1777        pub const UNKNOWN_0133: Key = Key { value: ::fidl_next::wire::Uint32(4294902067) };
1778
1779        pub const UNKNOWN_0134: Key = Key { value: ::fidl_next::wire::Uint32(4294902068) };
1780
1781        pub const UNKNOWN_0135: Key = Key { value: ::fidl_next::wire::Uint32(4294902069) };
1782
1783        pub const UNKNOWN_0136: Key = Key { value: ::fidl_next::wire::Uint32(4294902070) };
1784
1785        pub const UNKNOWN_0137: Key = Key { value: ::fidl_next::wire::Uint32(4294902071) };
1786
1787        pub const UNKNOWN_0138: Key = Key { value: ::fidl_next::wire::Uint32(4294902072) };
1788
1789        pub const UNKNOWN_0139: Key = Key { value: ::fidl_next::wire::Uint32(4294902073) };
1790
1791        pub const UNKNOWN_013_A: Key = Key { value: ::fidl_next::wire::Uint32(4294902074) };
1792
1793        pub const UNKNOWN_013_B: Key = Key { value: ::fidl_next::wire::Uint32(4294902075) };
1794
1795        pub const UNKNOWN_013_C: Key = Key { value: ::fidl_next::wire::Uint32(4294902076) };
1796
1797        pub const UNKNOWN_013_D: Key = Key { value: ::fidl_next::wire::Uint32(4294902077) };
1798
1799        pub const UNKNOWN_013_E: Key = Key { value: ::fidl_next::wire::Uint32(4294902078) };
1800
1801        pub const UNKNOWN_0161: Key = Key { value: ::fidl_next::wire::Uint32(4294902113) };
1802
1803        pub const UNKNOWN_016_A: Key = Key { value: ::fidl_next::wire::Uint32(4294902122) };
1804
1805        pub const UNKNOWN_016_E: Key = Key { value: ::fidl_next::wire::Uint32(4294902126) };
1806
1807        pub const UNKNOWN_0172: Key = Key { value: ::fidl_next::wire::Uint32(4294902130) };
1808
1809        pub const UNKNOWN_0179: Key = Key { value: ::fidl_next::wire::Uint32(4294902137) };
1810
1811        pub const UNKNOWN_018_E: Key = Key { value: ::fidl_next::wire::Uint32(4294902158) };
1812
1813        pub const UNKNOWN_018_F: Key = Key { value: ::fidl_next::wire::Uint32(4294902159) };
1814
1815        pub const UNKNOWN_0190: Key = Key { value: ::fidl_next::wire::Uint32(4294902160) };
1816
1817        pub const UNKNOWN_0191: Key = Key { value: ::fidl_next::wire::Uint32(4294902161) };
1818
1819        pub const UNKNOWN_0192: Key = Key { value: ::fidl_next::wire::Uint32(4294902162) };
1820
1821        pub const UNKNOWN_0193: Key = Key { value: ::fidl_next::wire::Uint32(4294902163) };
1822
1823        pub const UNKNOWN_0195: Key = Key { value: ::fidl_next::wire::Uint32(4294902165) };
1824
1825        pub const UNKNOWN_01_D0: Key = Key { value: ::fidl_next::wire::Uint32(4294902224) };
1826
1827        pub const UNKNOWN_020_A: Key = Key { value: ::fidl_next::wire::Uint32(4294902282) };
1828
1829        pub const UNKNOWN_020_B: Key = Key { value: ::fidl_next::wire::Uint32(4294902283) };
1830    }
1831
1832    unsafe impl<___D> ::fidl_next::Decode<___D> for Key
1833    where
1834        ___D: ?Sized,
1835    {
1836        fn decode(
1837            slot: ::fidl_next::Slot<'_, Self>,
1838            _: &mut ___D,
1839            _: (),
1840        ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
1841            Ok(())
1842        }
1843    }
1844
1845    impl ::core::convert::From<crate::natural::Key> for Key {
1846        fn from(natural: crate::natural::Key) -> Self {
1847            match natural {
1848                crate::natural::Key::Unknown => Key::UNKNOWN,
1849
1850                crate::natural::Key::A => Key::A,
1851
1852                crate::natural::Key::B => Key::B,
1853
1854                crate::natural::Key::C => Key::C,
1855
1856                crate::natural::Key::D => Key::D,
1857
1858                crate::natural::Key::E => Key::E,
1859
1860                crate::natural::Key::F => Key::F,
1861
1862                crate::natural::Key::G => Key::G,
1863
1864                crate::natural::Key::H => Key::H,
1865
1866                crate::natural::Key::I => Key::I,
1867
1868                crate::natural::Key::J => Key::J,
1869
1870                crate::natural::Key::K => Key::K,
1871
1872                crate::natural::Key::L => Key::L,
1873
1874                crate::natural::Key::M => Key::M,
1875
1876                crate::natural::Key::N => Key::N,
1877
1878                crate::natural::Key::O => Key::O,
1879
1880                crate::natural::Key::P => Key::P,
1881
1882                crate::natural::Key::Q => Key::Q,
1883
1884                crate::natural::Key::R => Key::R,
1885
1886                crate::natural::Key::S => Key::S,
1887
1888                crate::natural::Key::T => Key::T,
1889
1890                crate::natural::Key::U => Key::U,
1891
1892                crate::natural::Key::V => Key::V,
1893
1894                crate::natural::Key::W => Key::W,
1895
1896                crate::natural::Key::X => Key::X,
1897
1898                crate::natural::Key::Y => Key::Y,
1899
1900                crate::natural::Key::Z => Key::Z,
1901
1902                crate::natural::Key::Key1 => Key::KEY_1,
1903
1904                crate::natural::Key::Key2 => Key::KEY_2,
1905
1906                crate::natural::Key::Key3 => Key::KEY_3,
1907
1908                crate::natural::Key::Key4 => Key::KEY_4,
1909
1910                crate::natural::Key::Key5 => Key::KEY_5,
1911
1912                crate::natural::Key::Key6 => Key::KEY_6,
1913
1914                crate::natural::Key::Key7 => Key::KEY_7,
1915
1916                crate::natural::Key::Key8 => Key::KEY_8,
1917
1918                crate::natural::Key::Key9 => Key::KEY_9,
1919
1920                crate::natural::Key::Key0 => Key::KEY_0,
1921
1922                crate::natural::Key::Enter => Key::ENTER,
1923
1924                crate::natural::Key::Escape => Key::ESCAPE,
1925
1926                crate::natural::Key::Backspace => Key::BACKSPACE,
1927
1928                crate::natural::Key::Tab => Key::TAB,
1929
1930                crate::natural::Key::Space => Key::SPACE,
1931
1932                crate::natural::Key::Minus => Key::MINUS,
1933
1934                crate::natural::Key::Equals => Key::EQUALS,
1935
1936                crate::natural::Key::LeftBrace => Key::LEFT_BRACE,
1937
1938                crate::natural::Key::RightBrace => Key::RIGHT_BRACE,
1939
1940                crate::natural::Key::Backslash => Key::BACKSLASH,
1941
1942                crate::natural::Key::NonUsHash => Key::NON_US_HASH,
1943
1944                crate::natural::Key::Semicolon => Key::SEMICOLON,
1945
1946                crate::natural::Key::Apostrophe => Key::APOSTROPHE,
1947
1948                crate::natural::Key::GraveAccent => Key::GRAVE_ACCENT,
1949
1950                crate::natural::Key::Comma => Key::COMMA,
1951
1952                crate::natural::Key::Dot => Key::DOT,
1953
1954                crate::natural::Key::Slash => Key::SLASH,
1955
1956                crate::natural::Key::CapsLock => Key::CAPS_LOCK,
1957
1958                crate::natural::Key::F1 => Key::F1,
1959
1960                crate::natural::Key::F2 => Key::F2,
1961
1962                crate::natural::Key::F3 => Key::F3,
1963
1964                crate::natural::Key::F4 => Key::F4,
1965
1966                crate::natural::Key::F5 => Key::F5,
1967
1968                crate::natural::Key::F6 => Key::F6,
1969
1970                crate::natural::Key::F7 => Key::F7,
1971
1972                crate::natural::Key::F8 => Key::F8,
1973
1974                crate::natural::Key::F9 => Key::F9,
1975
1976                crate::natural::Key::F10 => Key::F10,
1977
1978                crate::natural::Key::F11 => Key::F11,
1979
1980                crate::natural::Key::F12 => Key::F12,
1981
1982                crate::natural::Key::PrintScreen => Key::PRINT_SCREEN,
1983
1984                crate::natural::Key::ScrollLock => Key::SCROLL_LOCK,
1985
1986                crate::natural::Key::Pause => Key::PAUSE,
1987
1988                crate::natural::Key::Insert => Key::INSERT,
1989
1990                crate::natural::Key::Home => Key::HOME,
1991
1992                crate::natural::Key::PageUp => Key::PAGE_UP,
1993
1994                crate::natural::Key::Delete => Key::DELETE,
1995
1996                crate::natural::Key::End => Key::END,
1997
1998                crate::natural::Key::PageDown => Key::PAGE_DOWN,
1999
2000                crate::natural::Key::Right => Key::RIGHT,
2001
2002                crate::natural::Key::Left => Key::LEFT,
2003
2004                crate::natural::Key::Down => Key::DOWN,
2005
2006                crate::natural::Key::Up => Key::UP,
2007
2008                crate::natural::Key::NumLock => Key::NUM_LOCK,
2009
2010                crate::natural::Key::KeypadSlash => Key::KEYPAD_SLASH,
2011
2012                crate::natural::Key::KeypadAsterisk => Key::KEYPAD_ASTERISK,
2013
2014                crate::natural::Key::KeypadMinus => Key::KEYPAD_MINUS,
2015
2016                crate::natural::Key::KeypadPlus => Key::KEYPAD_PLUS,
2017
2018                crate::natural::Key::KeypadEnter => Key::KEYPAD_ENTER,
2019
2020                crate::natural::Key::Keypad1 => Key::KEYPAD_1,
2021
2022                crate::natural::Key::Keypad2 => Key::KEYPAD_2,
2023
2024                crate::natural::Key::Keypad3 => Key::KEYPAD_3,
2025
2026                crate::natural::Key::Keypad4 => Key::KEYPAD_4,
2027
2028                crate::natural::Key::Keypad5 => Key::KEYPAD_5,
2029
2030                crate::natural::Key::Keypad6 => Key::KEYPAD_6,
2031
2032                crate::natural::Key::Keypad7 => Key::KEYPAD_7,
2033
2034                crate::natural::Key::Keypad8 => Key::KEYPAD_8,
2035
2036                crate::natural::Key::Keypad9 => Key::KEYPAD_9,
2037
2038                crate::natural::Key::Keypad0 => Key::KEYPAD_0,
2039
2040                crate::natural::Key::KeypadDot => Key::KEYPAD_DOT,
2041
2042                crate::natural::Key::NonUsBackslash => Key::NON_US_BACKSLASH,
2043
2044                crate::natural::Key::KeypadEquals => Key::KEYPAD_EQUALS,
2045
2046                crate::natural::Key::Menu => Key::MENU,
2047
2048                crate::natural::Key::LeftCtrl => Key::LEFT_CTRL,
2049
2050                crate::natural::Key::LeftShift => Key::LEFT_SHIFT,
2051
2052                crate::natural::Key::LeftAlt => Key::LEFT_ALT,
2053
2054                crate::natural::Key::LeftMeta => Key::LEFT_META,
2055
2056                crate::natural::Key::RightCtrl => Key::RIGHT_CTRL,
2057
2058                crate::natural::Key::RightShift => Key::RIGHT_SHIFT,
2059
2060                crate::natural::Key::RightAlt => Key::RIGHT_ALT,
2061
2062                crate::natural::Key::RightMeta => Key::RIGHT_META,
2063
2064                crate::natural::Key::Mute => Key::MUTE,
2065
2066                crate::natural::Key::VolumeDown => Key::VOLUME_DOWN,
2067
2068                crate::natural::Key::VolumeUp => Key::VOLUME_UP,
2069
2070                crate::natural::Key::PlayPause => Key::PLAY_PAUSE,
2071
2072                crate::natural::Key::MediaMute => Key::MEDIA_MUTE,
2073
2074                crate::natural::Key::MediaVolumeIncrement => Key::MEDIA_VOLUME_INCREMENT,
2075
2076                crate::natural::Key::MediaVolumeDecrement => Key::MEDIA_VOLUME_DECREMENT,
2077
2078                crate::natural::Key::AcBack => Key::AC_BACK,
2079
2080                crate::natural::Key::AcRefresh => Key::AC_REFRESH,
2081
2082                crate::natural::Key::AcFullScreenView => Key::AC_FULL_SCREEN_VIEW,
2083
2084                crate::natural::Key::AcSelectTaskApplication => Key::AC_SELECT_TASK_APPLICATION,
2085
2086                crate::natural::Key::BrightnessDown => Key::BRIGHTNESS_DOWN,
2087
2088                crate::natural::Key::BrightnessUp => Key::BRIGHTNESS_UP,
2089
2090                crate::natural::Key::Assistant => Key::ASSISTANT,
2091
2092                crate::natural::Key::Power => Key::POWER,
2093
2094                crate::natural::Key::Sleep => Key::SLEEP,
2095
2096                crate::natural::Key::Unknown0055 => Key::UNKNOWN_0055,
2097
2098                crate::natural::Key::Unknown0056 => Key::UNKNOWN_0056,
2099
2100                crate::natural::Key::Unknown0059 => Key::UNKNOWN_0059,
2101
2102                crate::natural::Key::Unknown005C => Key::UNKNOWN_005_C,
2103
2104                crate::natural::Key::Unknown005D => Key::UNKNOWN_005_D,
2105
2106                crate::natural::Key::Unknown005E => Key::UNKNOWN_005_E,
2107
2108                crate::natural::Key::Unknown0079 => Key::UNKNOWN_0079,
2109
2110                crate::natural::Key::Unknown007A => Key::UNKNOWN_007_A,
2111
2112                crate::natural::Key::Unknown007B => Key::UNKNOWN_007_B,
2113
2114                crate::natural::Key::Unknown007C => Key::UNKNOWN_007_C,
2115
2116                crate::natural::Key::Unknown0085 => Key::UNKNOWN_0085,
2117
2118                crate::natural::Key::Unknown0087 => Key::UNKNOWN_0087,
2119
2120                crate::natural::Key::Unknown0089 => Key::UNKNOWN_0089,
2121
2122                crate::natural::Key::Unknown009C => Key::UNKNOWN_009_C,
2123
2124                crate::natural::Key::Unknown009F => Key::UNKNOWN_009_F,
2125
2126                crate::natural::Key::Unknown00A0 => Key::UNKNOWN_00_A0,
2127
2128                crate::natural::Key::Unknown00A2 => Key::UNKNOWN_00_A2,
2129
2130                crate::natural::Key::Unknown00A3 => Key::UNKNOWN_00_A3,
2131
2132                crate::natural::Key::Unknown00A5 => Key::UNKNOWN_00_A5,
2133
2134                crate::natural::Key::Unknown00A6 => Key::UNKNOWN_00_A6,
2135
2136                crate::natural::Key::Unknown00A7 => Key::UNKNOWN_00_A7,
2137
2138                crate::natural::Key::Unknown00A8 => Key::UNKNOWN_00_A8,
2139
2140                crate::natural::Key::Unknown00A9 => Key::UNKNOWN_00_A9,
2141
2142                crate::natural::Key::Unknown00Ad => Key::UNKNOWN_00_AD,
2143
2144                crate::natural::Key::Unknown00B1 => Key::UNKNOWN_00_B1,
2145
2146                crate::natural::Key::Unknown00B2 => Key::UNKNOWN_00_B2,
2147
2148                crate::natural::Key::Unknown00B3 => Key::UNKNOWN_00_B3,
2149
2150                crate::natural::Key::Unknown00B4 => Key::UNKNOWN_00_B4,
2151
2152                crate::natural::Key::Unknown00C9 => Key::UNKNOWN_00_C9,
2153
2154                crate::natural::Key::Unknown00Cf => Key::UNKNOWN_00_CF,
2155
2156                crate::natural::Key::Unknown00D0 => Key::UNKNOWN_00_D0,
2157
2158                crate::natural::Key::Unknown00D4 => Key::UNKNOWN_00_D4,
2159
2160                crate::natural::Key::Unknown00E2 => Key::UNKNOWN_00_E2,
2161
2162                crate::natural::Key::Unknown0120 => Key::UNKNOWN_0120,
2163
2164                crate::natural::Key::Unknown0121 => Key::UNKNOWN_0121,
2165
2166                crate::natural::Key::Unknown0122 => Key::UNKNOWN_0122,
2167
2168                crate::natural::Key::Unknown0123 => Key::UNKNOWN_0123,
2169
2170                crate::natural::Key::Unknown0124 => Key::UNKNOWN_0124,
2171
2172                crate::natural::Key::Unknown0125 => Key::UNKNOWN_0125,
2173
2174                crate::natural::Key::Unknown0126 => Key::UNKNOWN_0126,
2175
2176                crate::natural::Key::Unknown0127 => Key::UNKNOWN_0127,
2177
2178                crate::natural::Key::Unknown0128 => Key::UNKNOWN_0128,
2179
2180                crate::natural::Key::Unknown0129 => Key::UNKNOWN_0129,
2181
2182                crate::natural::Key::Unknown012A => Key::UNKNOWN_012_A,
2183
2184                crate::natural::Key::Unknown012B => Key::UNKNOWN_012_B,
2185
2186                crate::natural::Key::Unknown012C => Key::UNKNOWN_012_C,
2187
2188                crate::natural::Key::Unknown012D => Key::UNKNOWN_012_D,
2189
2190                crate::natural::Key::Unknown012E => Key::UNKNOWN_012_E,
2191
2192                crate::natural::Key::Unknown012F => Key::UNKNOWN_012_F,
2193
2194                crate::natural::Key::Unknown0130 => Key::UNKNOWN_0130,
2195
2196                crate::natural::Key::Unknown0131 => Key::UNKNOWN_0131,
2197
2198                crate::natural::Key::Unknown0132 => Key::UNKNOWN_0132,
2199
2200                crate::natural::Key::Unknown0133 => Key::UNKNOWN_0133,
2201
2202                crate::natural::Key::Unknown0134 => Key::UNKNOWN_0134,
2203
2204                crate::natural::Key::Unknown0135 => Key::UNKNOWN_0135,
2205
2206                crate::natural::Key::Unknown0136 => Key::UNKNOWN_0136,
2207
2208                crate::natural::Key::Unknown0137 => Key::UNKNOWN_0137,
2209
2210                crate::natural::Key::Unknown0138 => Key::UNKNOWN_0138,
2211
2212                crate::natural::Key::Unknown0139 => Key::UNKNOWN_0139,
2213
2214                crate::natural::Key::Unknown013A => Key::UNKNOWN_013_A,
2215
2216                crate::natural::Key::Unknown013B => Key::UNKNOWN_013_B,
2217
2218                crate::natural::Key::Unknown013C => Key::UNKNOWN_013_C,
2219
2220                crate::natural::Key::Unknown013D => Key::UNKNOWN_013_D,
2221
2222                crate::natural::Key::Unknown013E => Key::UNKNOWN_013_E,
2223
2224                crate::natural::Key::Unknown0161 => Key::UNKNOWN_0161,
2225
2226                crate::natural::Key::Unknown016A => Key::UNKNOWN_016_A,
2227
2228                crate::natural::Key::Unknown016E => Key::UNKNOWN_016_E,
2229
2230                crate::natural::Key::Unknown0172 => Key::UNKNOWN_0172,
2231
2232                crate::natural::Key::Unknown0179 => Key::UNKNOWN_0179,
2233
2234                crate::natural::Key::Unknown018E => Key::UNKNOWN_018_E,
2235
2236                crate::natural::Key::Unknown018F => Key::UNKNOWN_018_F,
2237
2238                crate::natural::Key::Unknown0190 => Key::UNKNOWN_0190,
2239
2240                crate::natural::Key::Unknown0191 => Key::UNKNOWN_0191,
2241
2242                crate::natural::Key::Unknown0192 => Key::UNKNOWN_0192,
2243
2244                crate::natural::Key::Unknown0193 => Key::UNKNOWN_0193,
2245
2246                crate::natural::Key::Unknown0195 => Key::UNKNOWN_0195,
2247
2248                crate::natural::Key::Unknown01D0 => Key::UNKNOWN_01_D0,
2249
2250                crate::natural::Key::Unknown020A => Key::UNKNOWN_020_A,
2251
2252                crate::natural::Key::Unknown020B => Key::UNKNOWN_020_B,
2253
2254                crate::natural::Key::UnknownOrdinal_(value) => {
2255                    Key { value: ::fidl_next::wire::Uint32::from(value) }
2256                }
2257            }
2258        }
2259    }
2260
2261    impl ::fidl_next::IntoNatural for Key {
2262        type Natural = crate::natural::Key;
2263    }
2264
2265    /// The wire type corresponding to [`KeymapId`].
2266    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
2267    #[repr(transparent)]
2268    pub struct KeymapId {
2269        pub(crate) value: ::fidl_next::wire::Uint32,
2270    }
2271
2272    impl ::fidl_next::Constrained for KeymapId {
2273        type Constraint = ();
2274
2275        fn validate(
2276            _: ::fidl_next::Slot<'_, Self>,
2277            _: Self::Constraint,
2278        ) -> Result<(), ::fidl_next::ValidationError> {
2279            Ok(())
2280        }
2281    }
2282
2283    unsafe impl ::fidl_next::Wire for KeymapId {
2284        type Narrowed<'de> = Self;
2285
2286        #[inline]
2287        fn zero_padding(_: &mut ::core::mem::MaybeUninit<Self>) {
2288            // Wire enums have no padding
2289        }
2290    }
2291
2292    impl KeymapId {
2293        pub const US_QWERTY: KeymapId = KeymapId { value: ::fidl_next::wire::Uint32(0) };
2294
2295        pub const FR_AZERTY: KeymapId = KeymapId { value: ::fidl_next::wire::Uint32(1) };
2296
2297        pub const US_DVORAK: KeymapId = KeymapId { value: ::fidl_next::wire::Uint32(2) };
2298
2299        pub const US_COLEMAK: KeymapId = KeymapId { value: ::fidl_next::wire::Uint32(3) };
2300    }
2301
2302    unsafe impl<___D> ::fidl_next::Decode<___D> for KeymapId
2303    where
2304        ___D: ?Sized,
2305    {
2306        fn decode(
2307            slot: ::fidl_next::Slot<'_, Self>,
2308            _: &mut ___D,
2309            _: (),
2310        ) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
2311            Ok(())
2312        }
2313    }
2314
2315    impl ::core::convert::From<crate::natural::KeymapId> for KeymapId {
2316        fn from(natural: crate::natural::KeymapId) -> Self {
2317            match natural {
2318                crate::natural::KeymapId::UsQwerty => KeymapId::US_QWERTY,
2319
2320                crate::natural::KeymapId::FrAzerty => KeymapId::FR_AZERTY,
2321
2322                crate::natural::KeymapId::UsDvorak => KeymapId::US_DVORAK,
2323
2324                crate::natural::KeymapId::UsColemak => KeymapId::US_COLEMAK,
2325
2326                crate::natural::KeymapId::UnknownOrdinal_(value) => {
2327                    KeymapId { value: ::fidl_next::wire::Uint32::from(value) }
2328                }
2329            }
2330        }
2331    }
2332
2333    impl ::fidl_next::IntoNatural for KeymapId {
2334        type Natural = crate::natural::KeymapId;
2335    }
2336}
2337
2338pub mod wire_optional {}
2339
2340pub mod generic {}
2341
2342pub use self::natural::*;