ul_next/
key_code.rs

1/// You can see a description of each key code in KeyCodes.h
2pub enum VirtualKeyCode {
3    Back,
4    Tab,
5    Clear,
6    Return,
7    Shift,
8    Control,
9    Menu,
10    Pause,
11    Capital,
12    Kana,
13    Hangul,
14    ImeOn,
15    Junja,
16    Final,
17    Hanja,
18    Kanji,
19    ImeOff,
20    Escape,
21    Convert,
22    Nonconvert,
23    Accept,
24    Modechange,
25    Space,
26    Prior,
27    Next,
28    End,
29    Home,
30    Left,
31    Up,
32    Right,
33    Down,
34    Select,
35    Print,
36    Execute,
37    Snapshot,
38    Insert,
39    Delete,
40    Help,
41    Key0,
42    Key1,
43    Key2,
44    Key3,
45    Key4,
46    Key5,
47    Key6,
48    Key7,
49    Key8,
50    Key9,
51    A,
52    B,
53    C,
54    D,
55    E,
56    F,
57    G,
58    H,
59    I,
60    J,
61    K,
62    L,
63    M,
64    N,
65    O,
66    P,
67    Q,
68    R,
69    S,
70    T,
71    U,
72    V,
73    W,
74    X,
75    Y,
76    Z,
77    Lwin,
78    Rwin,
79    Apps,
80    Sleep,
81    Numpad0,
82    Numpad1,
83    Numpad2,
84    Numpad3,
85    Numpad4,
86    Numpad5,
87    Numpad6,
88    Numpad7,
89    Numpad8,
90    Numpad9,
91    Multiply,
92    Add,
93    Separator,
94    Subtract,
95    Decimal,
96    Divide,
97    F1,
98    F2,
99    F3,
100    F4,
101    F5,
102    F6,
103    F7,
104    F8,
105    F9,
106    F10,
107    F11,
108    F12,
109    F13,
110    F14,
111    F15,
112    F16,
113    F17,
114    F18,
115    F19,
116    F20,
117    F21,
118    F22,
119    F23,
120    F24,
121    Numlock,
122    Scroll,
123    Lshift,
124    Rshift,
125    Lcontrol,
126    Rcontrol,
127    Lmenu,
128    Rmenu,
129    BrowserBack,
130    BrowserForward,
131    BrowserRefresh,
132    BrowserStop,
133    BrowserSearch,
134    BrowserFavorites,
135    BrowserHome,
136    VolumeMute,
137    VolumeDown,
138    VolumeUp,
139    MediaNextTrack,
140    MediaPrevTrack,
141    MediaStop,
142    MediaPlayPause,
143    MediaLaunchMail,
144    MediaLaunchMediaSelect,
145    MediaLaunchApp1,
146    MediaLaunchApp2,
147    Oem1,
148    OemPlus,
149    OemComma,
150    OemMinus,
151    OemPeriod,
152    Oem2,
153    Oem3,
154    Oem4,
155    Oem5,
156    Oem6,
157    Oem7,
158    Oem8,
159    Oem102,
160    Processkey,
161    Packet,
162    OemAttn,
163    Attn,
164    Crsel,
165    Exsel,
166    Ereof,
167    Play,
168    Zoom,
169    Noname,
170    Pa1,
171    OemClear,
172    Unknown,
173}
174
175impl From<VirtualKeyCode> for i32 {
176    fn from(val: VirtualKeyCode) -> Self {
177        match val {
178            VirtualKeyCode::Back => 0x08,
179            VirtualKeyCode::Tab => 0x09,
180            VirtualKeyCode::Clear => 0x0C,
181            VirtualKeyCode::Return => 0x0D,
182            VirtualKeyCode::Shift => 0x10,
183            VirtualKeyCode::Control => 0x11,
184            VirtualKeyCode::Menu => 0x12,
185            VirtualKeyCode::Pause => 0x13,
186            VirtualKeyCode::Capital => 0x14,
187            VirtualKeyCode::Kana => 0x15,
188            VirtualKeyCode::Hangul => 0x15,
189            VirtualKeyCode::ImeOn => 0x16,
190            VirtualKeyCode::Junja => 0x17,
191            VirtualKeyCode::Final => 0x18,
192            VirtualKeyCode::Hanja => 0x19,
193            VirtualKeyCode::Kanji => 0x19,
194            VirtualKeyCode::ImeOff => 0x1A,
195            VirtualKeyCode::Escape => 0x1B,
196            VirtualKeyCode::Convert => 0x1C,
197            VirtualKeyCode::Nonconvert => 0x1D,
198            VirtualKeyCode::Accept => 0x1E,
199            VirtualKeyCode::Modechange => 0x1F,
200            VirtualKeyCode::Space => 0x20,
201            VirtualKeyCode::Prior => 0x21,
202            VirtualKeyCode::Next => 0x22,
203            VirtualKeyCode::End => 0x23,
204            VirtualKeyCode::Home => 0x24,
205            VirtualKeyCode::Left => 0x25,
206            VirtualKeyCode::Up => 0x26,
207            VirtualKeyCode::Right => 0x27,
208            VirtualKeyCode::Down => 0x28,
209            VirtualKeyCode::Select => 0x29,
210            VirtualKeyCode::Print => 0x2A,
211            VirtualKeyCode::Execute => 0x2B,
212            VirtualKeyCode::Snapshot => 0x2C,
213            VirtualKeyCode::Insert => 0x2D,
214            VirtualKeyCode::Delete => 0x2E,
215            VirtualKeyCode::Help => 0x2F,
216            VirtualKeyCode::Key0 => 0x30,
217            VirtualKeyCode::Key1 => 0x31,
218            VirtualKeyCode::Key2 => 0x32,
219            VirtualKeyCode::Key3 => 0x33,
220            VirtualKeyCode::Key4 => 0x34,
221            VirtualKeyCode::Key5 => 0x35,
222            VirtualKeyCode::Key6 => 0x36,
223            VirtualKeyCode::Key7 => 0x37,
224            VirtualKeyCode::Key8 => 0x38,
225            VirtualKeyCode::Key9 => 0x39,
226            VirtualKeyCode::A => 0x41,
227            VirtualKeyCode::B => 0x42,
228            VirtualKeyCode::C => 0x43,
229            VirtualKeyCode::D => 0x44,
230            VirtualKeyCode::E => 0x45,
231            VirtualKeyCode::F => 0x46,
232            VirtualKeyCode::G => 0x47,
233            VirtualKeyCode::H => 0x48,
234            VirtualKeyCode::I => 0x49,
235            VirtualKeyCode::J => 0x4A,
236            VirtualKeyCode::K => 0x4B,
237            VirtualKeyCode::L => 0x4C,
238            VirtualKeyCode::M => 0x4D,
239            VirtualKeyCode::N => 0x4E,
240            VirtualKeyCode::O => 0x4F,
241            VirtualKeyCode::P => 0x50,
242            VirtualKeyCode::Q => 0x51,
243            VirtualKeyCode::R => 0x52,
244            VirtualKeyCode::S => 0x53,
245            VirtualKeyCode::T => 0x54,
246            VirtualKeyCode::U => 0x55,
247            VirtualKeyCode::V => 0x56,
248            VirtualKeyCode::W => 0x57,
249            VirtualKeyCode::X => 0x58,
250            VirtualKeyCode::Y => 0x59,
251            VirtualKeyCode::Z => 0x5A,
252            VirtualKeyCode::Lwin => 0x5B,
253            VirtualKeyCode::Rwin => 0x5C,
254            VirtualKeyCode::Apps => 0x5D,
255            VirtualKeyCode::Sleep => 0x5F,
256            VirtualKeyCode::Numpad0 => 0x60,
257            VirtualKeyCode::Numpad1 => 0x61,
258            VirtualKeyCode::Numpad2 => 0x62,
259            VirtualKeyCode::Numpad3 => 0x63,
260            VirtualKeyCode::Numpad4 => 0x64,
261            VirtualKeyCode::Numpad5 => 0x65,
262            VirtualKeyCode::Numpad6 => 0x66,
263            VirtualKeyCode::Numpad7 => 0x67,
264            VirtualKeyCode::Numpad8 => 0x68,
265            VirtualKeyCode::Numpad9 => 0x69,
266            VirtualKeyCode::Multiply => 0x6A,
267            VirtualKeyCode::Add => 0x6B,
268            VirtualKeyCode::Separator => 0x6C,
269            VirtualKeyCode::Subtract => 0x6D,
270            VirtualKeyCode::Decimal => 0x6E,
271            VirtualKeyCode::Divide => 0x6F,
272            VirtualKeyCode::F1 => 0x70,
273            VirtualKeyCode::F2 => 0x71,
274            VirtualKeyCode::F3 => 0x72,
275            VirtualKeyCode::F4 => 0x73,
276            VirtualKeyCode::F5 => 0x74,
277            VirtualKeyCode::F6 => 0x75,
278            VirtualKeyCode::F7 => 0x76,
279            VirtualKeyCode::F8 => 0x77,
280            VirtualKeyCode::F9 => 0x78,
281            VirtualKeyCode::F10 => 0x79,
282            VirtualKeyCode::F11 => 0x7A,
283            VirtualKeyCode::F12 => 0x7B,
284            VirtualKeyCode::F13 => 0x7C,
285            VirtualKeyCode::F14 => 0x7D,
286            VirtualKeyCode::F15 => 0x7E,
287            VirtualKeyCode::F16 => 0x7F,
288            VirtualKeyCode::F17 => 0x80,
289            VirtualKeyCode::F18 => 0x81,
290            VirtualKeyCode::F19 => 0x82,
291            VirtualKeyCode::F20 => 0x83,
292            VirtualKeyCode::F21 => 0x84,
293            VirtualKeyCode::F22 => 0x85,
294            VirtualKeyCode::F23 => 0x86,
295            VirtualKeyCode::F24 => 0x87,
296            VirtualKeyCode::Numlock => 0x90,
297            VirtualKeyCode::Scroll => 0x91,
298            VirtualKeyCode::Lshift => 0xA0,
299            VirtualKeyCode::Rshift => 0xA1,
300            VirtualKeyCode::Lcontrol => 0xA2,
301            VirtualKeyCode::Rcontrol => 0xA3,
302            VirtualKeyCode::Lmenu => 0xA4,
303            VirtualKeyCode::Rmenu => 0xA5,
304            VirtualKeyCode::BrowserBack => 0xA6,
305            VirtualKeyCode::BrowserForward => 0xA7,
306            VirtualKeyCode::BrowserRefresh => 0xA8,
307            VirtualKeyCode::BrowserStop => 0xA9,
308            VirtualKeyCode::BrowserSearch => 0xAA,
309            VirtualKeyCode::BrowserFavorites => 0xAB,
310            VirtualKeyCode::BrowserHome => 0xAC,
311            VirtualKeyCode::VolumeMute => 0xAD,
312            VirtualKeyCode::VolumeDown => 0xAE,
313            VirtualKeyCode::VolumeUp => 0xAF,
314            VirtualKeyCode::MediaNextTrack => 0xB0,
315            VirtualKeyCode::MediaPrevTrack => 0xB1,
316            VirtualKeyCode::MediaStop => 0xB2,
317            VirtualKeyCode::MediaPlayPause => 0xB3,
318            VirtualKeyCode::MediaLaunchMail => 0xB4,
319            VirtualKeyCode::MediaLaunchMediaSelect => 0xB5,
320            VirtualKeyCode::MediaLaunchApp1 => 0xB6,
321            VirtualKeyCode::MediaLaunchApp2 => 0xB7,
322            VirtualKeyCode::Oem1 => 0xBA,
323            VirtualKeyCode::OemPlus => 0xBB,
324            VirtualKeyCode::OemComma => 0xBC,
325            VirtualKeyCode::OemMinus => 0xBD,
326            VirtualKeyCode::OemPeriod => 0xBE,
327            VirtualKeyCode::Oem2 => 0xBF,
328            VirtualKeyCode::Oem3 => 0xC0,
329            VirtualKeyCode::Oem4 => 0xDB,
330            VirtualKeyCode::Oem5 => 0xDC,
331            VirtualKeyCode::Oem6 => 0xDD,
332            VirtualKeyCode::Oem7 => 0xDE,
333            VirtualKeyCode::Oem8 => 0xDF,
334            VirtualKeyCode::Oem102 => 0xE2,
335            VirtualKeyCode::Processkey => 0xE5,
336            VirtualKeyCode::Packet => 0xE7,
337            VirtualKeyCode::OemAttn => 0xF0,
338            VirtualKeyCode::Attn => 0xF6,
339            VirtualKeyCode::Crsel => 0xF7,
340            VirtualKeyCode::Exsel => 0xF8,
341            VirtualKeyCode::Ereof => 0xF9,
342            VirtualKeyCode::Play => 0xFA,
343            VirtualKeyCode::Zoom => 0xFB,
344            VirtualKeyCode::Noname => 0xFC,
345            VirtualKeyCode::Pa1 => 0xFD,
346            VirtualKeyCode::OemClear => 0xFE,
347            VirtualKeyCode::Unknown => 0,
348        }
349    }
350}