1use freya_core::prelude::{
2 Force,
3 MouseButton,
4 TouchPhase,
5};
6use keyboard_types::{
7 Code,
8 NamedKey,
9};
10pub use keyboard_types::{
11 Key,
12 Modifiers,
13};
14
15pub fn map_winit_mouse_button(event: winit::event::MouseButton) -> MouseButton {
16 match event {
17 winit::event::MouseButton::Left => MouseButton::Left,
18 winit::event::MouseButton::Right => MouseButton::Right,
19 winit::event::MouseButton::Middle => MouseButton::Middle,
20 winit::event::MouseButton::Back => MouseButton::Back,
21 winit::event::MouseButton::Forward => MouseButton::Forward,
22 winit::event::MouseButton::Other(o) => MouseButton::Other(o),
23 }
24}
25
26pub fn map_winit_modifiers(modifiers: winit::keyboard::ModifiersState) -> Modifiers {
28 let mut new_modifiers = Modifiers::empty();
29 if modifiers.alt_key() {
30 new_modifiers.toggle(Modifiers::ALT);
31 }
32 if modifiers.control_key() {
33 new_modifiers.toggle(Modifiers::CONTROL);
34 }
35 if modifiers.shift_key() {
36 new_modifiers.toggle(Modifiers::SHIFT);
37 }
38 if modifiers.super_key() {
39 new_modifiers.toggle(Modifiers::META);
40 }
41 new_modifiers
42}
43
44pub fn map_winit_key(key: &winit::keyboard::Key) -> Key {
46 match key {
47 winit::keyboard::Key::Character(c) => Key::Character(c.to_string()),
48
49 winit::keyboard::Key::Unidentified(winit::keyboard::NativeKey::Xkb(0xFE50)) => {
50 Key::Character("`".to_string())
51 }
52 winit::keyboard::Key::Dead(Some('`')) => Key::Character("`".to_string()),
53 winit::keyboard::Key::Named(named_key) => match named_key {
54 winit::keyboard::NamedKey::Space => Key::Character(" ".to_string()),
55
56 winit::keyboard::NamedKey::Delete => Key::Named(NamedKey::Delete),
57 winit::keyboard::NamedKey::Backspace => Key::Named(NamedKey::Backspace),
58 winit::keyboard::NamedKey::ArrowDown => Key::Named(NamedKey::ArrowDown),
59 winit::keyboard::NamedKey::ArrowLeft => Key::Named(NamedKey::ArrowLeft),
60 winit::keyboard::NamedKey::ArrowRight => Key::Named(NamedKey::ArrowRight),
61 winit::keyboard::NamedKey::ArrowUp => Key::Named(NamedKey::ArrowUp),
62 winit::keyboard::NamedKey::End => Key::Named(NamedKey::End),
63 winit::keyboard::NamedKey::Home => Key::Named(NamedKey::Home),
64 winit::keyboard::NamedKey::PageDown => Key::Named(NamedKey::PageDown),
65 winit::keyboard::NamedKey::PageUp => Key::Named(NamedKey::PageUp),
66 winit::keyboard::NamedKey::Tab => Key::Named(NamedKey::Tab),
67 winit::keyboard::NamedKey::Enter => Key::Named(NamedKey::Enter),
68 winit::keyboard::NamedKey::Escape => Key::Named(NamedKey::Escape),
69
70 winit::keyboard::NamedKey::F1 => Key::Named(NamedKey::F1),
71 winit::keyboard::NamedKey::F2 => Key::Named(NamedKey::F2),
72 winit::keyboard::NamedKey::F3 => Key::Named(NamedKey::F3),
73 winit::keyboard::NamedKey::F4 => Key::Named(NamedKey::F4),
74 winit::keyboard::NamedKey::F5 => Key::Named(NamedKey::F5),
75 winit::keyboard::NamedKey::F6 => Key::Named(NamedKey::F6),
76 winit::keyboard::NamedKey::F7 => Key::Named(NamedKey::F7),
77 winit::keyboard::NamedKey::F8 => Key::Named(NamedKey::F8),
78 winit::keyboard::NamedKey::F9 => Key::Named(NamedKey::F9),
79 winit::keyboard::NamedKey::F10 => Key::Named(NamedKey::F10),
80 winit::keyboard::NamedKey::F11 => Key::Named(NamedKey::F11),
81 winit::keyboard::NamedKey::F12 => Key::Named(NamedKey::F12),
82 winit::keyboard::NamedKey::F13 => Key::Named(NamedKey::F13),
83 winit::keyboard::NamedKey::F14 => Key::Named(NamedKey::F14),
84 winit::keyboard::NamedKey::F15 => Key::Named(NamedKey::F15),
85 winit::keyboard::NamedKey::F16 => Key::Named(NamedKey::F16),
86 winit::keyboard::NamedKey::F17 => Key::Named(NamedKey::F17),
87 winit::keyboard::NamedKey::F18 => Key::Named(NamedKey::F18),
88 winit::keyboard::NamedKey::F19 => Key::Named(NamedKey::F19),
89 winit::keyboard::NamedKey::F20 => Key::Named(NamedKey::F20),
90 winit::keyboard::NamedKey::F21 => Key::Named(NamedKey::F21),
91 winit::keyboard::NamedKey::F22 => Key::Named(NamedKey::F22),
92 winit::keyboard::NamedKey::F23 => Key::Named(NamedKey::F23),
93 winit::keyboard::NamedKey::F24 => Key::Named(NamedKey::F24),
94
95 winit::keyboard::NamedKey::Pause => Key::Named(NamedKey::Pause),
96 winit::keyboard::NamedKey::Insert => Key::Named(NamedKey::Insert),
97 winit::keyboard::NamedKey::ContextMenu => Key::Named(NamedKey::ContextMenu),
98
99 winit::keyboard::NamedKey::BrowserBack => Key::Named(NamedKey::BrowserBack),
100 winit::keyboard::NamedKey::BrowserFavorites => Key::Named(NamedKey::BrowserFavorites),
101 winit::keyboard::NamedKey::BrowserForward => Key::Named(NamedKey::BrowserForward),
102 winit::keyboard::NamedKey::BrowserHome => Key::Named(NamedKey::BrowserHome),
103 winit::keyboard::NamedKey::BrowserRefresh => Key::Named(NamedKey::BrowserRefresh),
104 winit::keyboard::NamedKey::BrowserSearch => Key::Named(NamedKey::BrowserSearch),
105 winit::keyboard::NamedKey::BrowserStop => Key::Named(NamedKey::BrowserStop),
106
107 winit::keyboard::NamedKey::MediaTrackNext => Key::Named(NamedKey::MediaTrackNext),
108 winit::keyboard::NamedKey::MediaPlayPause => Key::Named(NamedKey::MediaPlayPause),
109 winit::keyboard::NamedKey::MediaTrackPrevious => {
110 Key::Named(NamedKey::MediaTrackPrevious)
111 }
112 winit::keyboard::NamedKey::MediaStop => Key::Named(NamedKey::MediaStop),
113
114 winit::keyboard::NamedKey::AudioVolumeDown => Key::Named(NamedKey::AudioVolumeDown),
115 winit::keyboard::NamedKey::AudioVolumeMute => Key::Named(NamedKey::AudioVolumeMute),
116 winit::keyboard::NamedKey::AudioVolumeUp => Key::Named(NamedKey::AudioVolumeUp),
117
118 winit::keyboard::NamedKey::LaunchApplication2 => {
119 Key::Named(NamedKey::LaunchApplication2)
120 }
121 winit::keyboard::NamedKey::LaunchMail => Key::Named(NamedKey::LaunchMail),
122
123 winit::keyboard::NamedKey::Convert => Key::Named(NamedKey::Convert),
124
125 winit::keyboard::NamedKey::Alt => Key::Named(NamedKey::Alt),
126 winit::keyboard::NamedKey::AltGraph => Key::Named(NamedKey::AltGraph),
127 winit::keyboard::NamedKey::CapsLock => Key::Named(NamedKey::CapsLock),
128 winit::keyboard::NamedKey::Control => Key::Named(NamedKey::Control),
129 winit::keyboard::NamedKey::Fn => Key::Named(NamedKey::Fn),
130 winit::keyboard::NamedKey::FnLock => Key::Named(NamedKey::FnLock),
131 winit::keyboard::NamedKey::NumLock => Key::Named(NamedKey::NumLock),
132 winit::keyboard::NamedKey::ScrollLock => Key::Named(NamedKey::ScrollLock),
133 winit::keyboard::NamedKey::Shift => Key::Named(NamedKey::Shift),
134 winit::keyboard::NamedKey::Symbol => Key::Named(NamedKey::Symbol),
135 winit::keyboard::NamedKey::SymbolLock => Key::Named(NamedKey::SymbolLock),
136 winit::keyboard::NamedKey::Meta => Key::Named(NamedKey::Meta),
137 winit::keyboard::NamedKey::Hyper => Key::Named(NamedKey::Meta),
138 winit::keyboard::NamedKey::Super => Key::Named(NamedKey::Meta),
139
140 winit::keyboard::NamedKey::Clear => Key::Named(NamedKey::Clear),
141 winit::keyboard::NamedKey::Copy => Key::Named(NamedKey::Copy),
142 winit::keyboard::NamedKey::CrSel => Key::Named(NamedKey::CrSel),
143 winit::keyboard::NamedKey::Cut => Key::Named(NamedKey::Cut),
144 winit::keyboard::NamedKey::EraseEof => Key::Named(NamedKey::EraseEof),
145 winit::keyboard::NamedKey::ExSel => Key::Named(NamedKey::ExSel),
146 winit::keyboard::NamedKey::Paste => Key::Named(NamedKey::Paste),
147 winit::keyboard::NamedKey::Redo => Key::Named(NamedKey::Redo),
148 winit::keyboard::NamedKey::Undo => Key::Named(NamedKey::Undo),
149
150 winit::keyboard::NamedKey::Accept => Key::Named(NamedKey::Accept),
151 winit::keyboard::NamedKey::Again => Key::Named(NamedKey::Again),
152 winit::keyboard::NamedKey::Attn => Key::Named(NamedKey::Attn),
153 winit::keyboard::NamedKey::Cancel => Key::Named(NamedKey::Cancel),
154 winit::keyboard::NamedKey::Execute => Key::Named(NamedKey::Execute),
155 winit::keyboard::NamedKey::Find => Key::Named(NamedKey::Find),
156 winit::keyboard::NamedKey::Help => Key::Named(NamedKey::Help),
157 winit::keyboard::NamedKey::Play => Key::Named(NamedKey::Play),
158 winit::keyboard::NamedKey::Props => Key::Named(NamedKey::Props),
159 winit::keyboard::NamedKey::Select => Key::Named(NamedKey::Select),
160 winit::keyboard::NamedKey::ZoomIn => Key::Named(NamedKey::ZoomIn),
161 winit::keyboard::NamedKey::ZoomOut => Key::Named(NamedKey::ZoomOut),
162
163 winit::keyboard::NamedKey::BrightnessDown => Key::Named(NamedKey::BrightnessDown),
164 winit::keyboard::NamedKey::BrightnessUp => Key::Named(NamedKey::BrightnessUp),
165
166 winit::keyboard::NamedKey::Eject => Key::Named(NamedKey::Eject),
167 winit::keyboard::NamedKey::LogOff => Key::Named(NamedKey::LogOff),
168 winit::keyboard::NamedKey::Power => Key::Named(NamedKey::Power),
169 winit::keyboard::NamedKey::PowerOff => Key::Named(NamedKey::PowerOff),
170 winit::keyboard::NamedKey::PrintScreen => Key::Named(NamedKey::PrintScreen),
171 winit::keyboard::NamedKey::Hibernate => Key::Named(NamedKey::Hibernate),
172 winit::keyboard::NamedKey::Standby => Key::Named(NamedKey::Standby),
173 winit::keyboard::NamedKey::WakeUp => Key::Named(NamedKey::WakeUp),
174
175 winit::keyboard::NamedKey::AllCandidates => Key::Named(NamedKey::AllCandidates),
176 winit::keyboard::NamedKey::Alphanumeric => Key::Named(NamedKey::Alphanumeric),
177 winit::keyboard::NamedKey::CodeInput => Key::Named(NamedKey::CodeInput),
178 winit::keyboard::NamedKey::Compose => Key::Named(NamedKey::Compose),
179 winit::keyboard::NamedKey::FinalMode => Key::Named(NamedKey::FinalMode),
180 winit::keyboard::NamedKey::GroupFirst => Key::Named(NamedKey::GroupFirst),
181 winit::keyboard::NamedKey::GroupLast => Key::Named(NamedKey::GroupLast),
182 winit::keyboard::NamedKey::GroupNext => Key::Named(NamedKey::GroupNext),
183 winit::keyboard::NamedKey::GroupPrevious => Key::Named(NamedKey::GroupPrevious),
184 winit::keyboard::NamedKey::ModeChange => Key::Named(NamedKey::ModeChange),
185 winit::keyboard::NamedKey::NextCandidate => Key::Named(NamedKey::NextCandidate),
186 winit::keyboard::NamedKey::NonConvert => Key::Named(NamedKey::NonConvert),
187 winit::keyboard::NamedKey::PreviousCandidate => Key::Named(NamedKey::PreviousCandidate),
188 winit::keyboard::NamedKey::Process => Key::Named(NamedKey::Process),
189 winit::keyboard::NamedKey::SingleCandidate => Key::Named(NamedKey::SingleCandidate),
190
191 winit::keyboard::NamedKey::HangulMode => Key::Named(NamedKey::HangulMode),
192 winit::keyboard::NamedKey::HanjaMode => Key::Named(NamedKey::HanjaMode),
193 winit::keyboard::NamedKey::JunjaMode => Key::Named(NamedKey::JunjaMode),
194 winit::keyboard::NamedKey::Eisu => Key::Named(NamedKey::Eisu),
195 winit::keyboard::NamedKey::Hankaku => Key::Named(NamedKey::Hankaku),
196 winit::keyboard::NamedKey::Hiragana => Key::Named(NamedKey::Hiragana),
197 winit::keyboard::NamedKey::HiraganaKatakana => Key::Named(NamedKey::HiraganaKatakana),
198 winit::keyboard::NamedKey::KanaMode => Key::Named(NamedKey::KanaMode),
199 winit::keyboard::NamedKey::KanjiMode => Key::Named(NamedKey::KanjiMode),
200 winit::keyboard::NamedKey::Katakana => Key::Named(NamedKey::Katakana),
201 winit::keyboard::NamedKey::Romaji => Key::Named(NamedKey::Romaji),
202 winit::keyboard::NamedKey::Zenkaku => Key::Named(NamedKey::Zenkaku),
203 winit::keyboard::NamedKey::ZenkakuHankaku => Key::Named(NamedKey::ZenkakuHankaku),
204
205 winit::keyboard::NamedKey::Soft1 => Key::Named(NamedKey::Soft1),
206 winit::keyboard::NamedKey::Soft2 => Key::Named(NamedKey::Soft2),
207 winit::keyboard::NamedKey::Soft3 => Key::Named(NamedKey::Soft3),
208 winit::keyboard::NamedKey::Soft4 => Key::Named(NamedKey::Soft4),
209
210 winit::keyboard::NamedKey::ChannelDown => Key::Named(NamedKey::ChannelDown),
211 winit::keyboard::NamedKey::ChannelUp => Key::Named(NamedKey::ChannelUp),
212 winit::keyboard::NamedKey::Close => Key::Named(NamedKey::Close),
213
214 winit::keyboard::NamedKey::MailForward => Key::Named(NamedKey::MailForward),
215 winit::keyboard::NamedKey::MailReply => Key::Named(NamedKey::MailReply),
216 winit::keyboard::NamedKey::MailSend => Key::Named(NamedKey::MailSend),
217
218 winit::keyboard::NamedKey::MediaClose => Key::Named(NamedKey::MediaClose),
219 winit::keyboard::NamedKey::MediaFastForward => Key::Named(NamedKey::MediaFastForward),
220 winit::keyboard::NamedKey::MediaPause => Key::Named(NamedKey::MediaPause),
221 winit::keyboard::NamedKey::MediaPlay => Key::Named(NamedKey::MediaPlay),
222 winit::keyboard::NamedKey::MediaRecord => Key::Named(NamedKey::MediaRecord),
223
224 _ => Key::Named(NamedKey::Unidentified),
225 },
226
227 _ => Key::Named(NamedKey::Unidentified),
228 }
229}
230
231pub fn map_winit_physical_key(key: &winit::keyboard::PhysicalKey) -> Code {
233 if let winit::keyboard::PhysicalKey::Code(key) = key {
234 match key {
235 winit::keyboard::KeyCode::Digit1 => Code::Digit1,
236 winit::keyboard::KeyCode::Digit2 => Code::Digit2,
237 winit::keyboard::KeyCode::Digit3 => Code::Digit3,
238 winit::keyboard::KeyCode::Digit4 => Code::Digit4,
239 winit::keyboard::KeyCode::Digit5 => Code::Digit5,
240 winit::keyboard::KeyCode::Digit6 => Code::Digit6,
241 winit::keyboard::KeyCode::Digit7 => Code::Digit7,
242 winit::keyboard::KeyCode::Digit8 => Code::Digit8,
243 winit::keyboard::KeyCode::Digit9 => Code::Digit9,
244 winit::keyboard::KeyCode::Digit0 => Code::Digit0,
245 winit::keyboard::KeyCode::KeyA => Code::KeyA,
246 winit::keyboard::KeyCode::KeyB => Code::KeyB,
247 winit::keyboard::KeyCode::KeyC => Code::KeyC,
248 winit::keyboard::KeyCode::KeyD => Code::KeyD,
249 winit::keyboard::KeyCode::KeyE => Code::KeyE,
250 winit::keyboard::KeyCode::KeyF => Code::KeyF,
251 winit::keyboard::KeyCode::KeyG => Code::KeyG,
252 winit::keyboard::KeyCode::KeyH => Code::KeyH,
253 winit::keyboard::KeyCode::KeyI => Code::KeyI,
254 winit::keyboard::KeyCode::KeyJ => Code::KeyJ,
255 winit::keyboard::KeyCode::KeyK => Code::KeyK,
256 winit::keyboard::KeyCode::KeyL => Code::KeyL,
257 winit::keyboard::KeyCode::KeyM => Code::KeyM,
258 winit::keyboard::KeyCode::KeyN => Code::KeyN,
259 winit::keyboard::KeyCode::KeyO => Code::KeyO,
260 winit::keyboard::KeyCode::KeyP => Code::KeyP,
261 winit::keyboard::KeyCode::KeyQ => Code::KeyQ,
262 winit::keyboard::KeyCode::KeyR => Code::KeyR,
263 winit::keyboard::KeyCode::KeyS => Code::KeyS,
264 winit::keyboard::KeyCode::KeyT => Code::KeyT,
265 winit::keyboard::KeyCode::KeyU => Code::KeyU,
266 winit::keyboard::KeyCode::KeyV => Code::KeyV,
267 winit::keyboard::KeyCode::KeyW => Code::KeyW,
268 winit::keyboard::KeyCode::KeyX => Code::KeyX,
269 winit::keyboard::KeyCode::KeyY => Code::KeyY,
270 winit::keyboard::KeyCode::KeyZ => Code::KeyZ,
271 winit::keyboard::KeyCode::Escape => Code::Escape,
272 winit::keyboard::KeyCode::F1 => Code::F1,
273 winit::keyboard::KeyCode::F2 => Code::F2,
274 winit::keyboard::KeyCode::F3 => Code::F3,
275 winit::keyboard::KeyCode::F4 => Code::F4,
276 winit::keyboard::KeyCode::F5 => Code::F5,
277 winit::keyboard::KeyCode::F6 => Code::F6,
278 winit::keyboard::KeyCode::F7 => Code::F7,
279 winit::keyboard::KeyCode::F8 => Code::F8,
280 winit::keyboard::KeyCode::F9 => Code::F9,
281 winit::keyboard::KeyCode::F10 => Code::F10,
282 winit::keyboard::KeyCode::F11 => Code::F11,
283 winit::keyboard::KeyCode::F12 => Code::F12,
284 winit::keyboard::KeyCode::F13 => Code::F13,
285 winit::keyboard::KeyCode::F14 => Code::F14,
286 winit::keyboard::KeyCode::F15 => Code::F15,
287 winit::keyboard::KeyCode::F16 => Code::F16,
288 winit::keyboard::KeyCode::F17 => Code::F17,
289 winit::keyboard::KeyCode::F18 => Code::F18,
290 winit::keyboard::KeyCode::F19 => Code::F19,
291 winit::keyboard::KeyCode::F20 => Code::F20,
292 winit::keyboard::KeyCode::F21 => Code::F21,
293 winit::keyboard::KeyCode::F22 => Code::F22,
294 winit::keyboard::KeyCode::F23 => Code::F23,
295 winit::keyboard::KeyCode::F24 => Code::F24,
296 winit::keyboard::KeyCode::Pause => Code::Pause,
297 winit::keyboard::KeyCode::Insert => Code::Insert,
298 winit::keyboard::KeyCode::Home => Code::Home,
299 winit::keyboard::KeyCode::Delete => Code::Delete,
300 winit::keyboard::KeyCode::End => Code::End,
301 winit::keyboard::KeyCode::PageDown => Code::PageDown,
302 winit::keyboard::KeyCode::PageUp => Code::PageUp,
303 winit::keyboard::KeyCode::ArrowLeft => Code::ArrowLeft,
304 winit::keyboard::KeyCode::ArrowUp => Code::ArrowUp,
305 winit::keyboard::KeyCode::ArrowRight => Code::ArrowRight,
306 winit::keyboard::KeyCode::ArrowDown => Code::ArrowDown,
307 winit::keyboard::KeyCode::Backspace => Code::Backspace,
308 winit::keyboard::KeyCode::Enter => Code::Enter,
309 winit::keyboard::KeyCode::Space => Code::Space,
310 winit::keyboard::KeyCode::NumLock => Code::NumLock,
311 winit::keyboard::KeyCode::Numpad0 => Code::Numpad0,
312 winit::keyboard::KeyCode::Numpad1 => Code::Numpad1,
313 winit::keyboard::KeyCode::Numpad2 => Code::Numpad2,
314 winit::keyboard::KeyCode::Numpad3 => Code::Numpad3,
315 winit::keyboard::KeyCode::Numpad4 => Code::Numpad4,
316 winit::keyboard::KeyCode::Numpad5 => Code::Numpad5,
317 winit::keyboard::KeyCode::Numpad6 => Code::Numpad6,
318 winit::keyboard::KeyCode::Numpad7 => Code::Numpad7,
319 winit::keyboard::KeyCode::Numpad8 => Code::Numpad8,
320 winit::keyboard::KeyCode::Numpad9 => Code::Numpad9,
321 winit::keyboard::KeyCode::NumpadAdd => Code::NumpadAdd,
322 winit::keyboard::KeyCode::NumpadDivide => Code::NumpadDivide,
323 winit::keyboard::KeyCode::NumpadDecimal => Code::NumpadDecimal,
324 winit::keyboard::KeyCode::NumpadComma => Code::NumpadComma,
325 winit::keyboard::KeyCode::NumpadEnter => Code::NumpadEnter,
326 winit::keyboard::KeyCode::NumpadEqual => Code::NumpadEqual,
327 winit::keyboard::KeyCode::NumpadMultiply => Code::NumpadMultiply,
328 winit::keyboard::KeyCode::NumpadSubtract => Code::NumpadSubtract,
329 winit::keyboard::KeyCode::Backslash => Code::Backslash,
330 winit::keyboard::KeyCode::Comma => Code::Comma,
331 winit::keyboard::KeyCode::Convert => Code::Convert,
332 winit::keyboard::KeyCode::Equal => Code::Equal,
333 winit::keyboard::KeyCode::BracketLeft => Code::BracketLeft,
334 winit::keyboard::KeyCode::BracketRight => Code::BracketRight,
335 winit::keyboard::KeyCode::ShiftLeft => Code::ShiftLeft,
336 winit::keyboard::KeyCode::Meta => Code::MetaLeft,
337 winit::keyboard::KeyCode::MediaSelect => Code::MediaSelect,
338 winit::keyboard::KeyCode::MediaStop => Code::MediaStop,
339 winit::keyboard::KeyCode::Minus => Code::Minus,
340 winit::keyboard::KeyCode::Period => Code::Period,
341 winit::keyboard::KeyCode::Power => Code::Power,
342 winit::keyboard::KeyCode::AltRight => Code::AltRight,
343 winit::keyboard::KeyCode::ControlLeft => Code::ControlLeft,
344 winit::keyboard::KeyCode::ControlRight => Code::ControlRight,
345 winit::keyboard::KeyCode::ShiftRight => Code::ShiftRight,
346 winit::keyboard::KeyCode::Semicolon => Code::Semicolon,
347 winit::keyboard::KeyCode::Slash => Code::Slash,
348 winit::keyboard::KeyCode::Sleep => Code::Sleep,
349 winit::keyboard::KeyCode::Tab => Code::Tab,
350 winit::keyboard::KeyCode::AudioVolumeUp => Code::AudioVolumeUp,
351 winit::keyboard::KeyCode::IntlYen => Code::IntlYen,
352 winit::keyboard::KeyCode::Copy => Code::Copy,
353 winit::keyboard::KeyCode::Paste => Code::Paste,
354 winit::keyboard::KeyCode::Cut => Code::Cut,
355 winit::keyboard::KeyCode::Backquote => Code::Backquote,
356 _ => Code::Unidentified,
357 }
358 } else {
359 Code::Unidentified
360 }
361}
362
363pub fn map_winit_touch_phase(event: winit::event::TouchPhase) -> TouchPhase {
364 match event {
365 winit::event::TouchPhase::Started => TouchPhase::Started,
366 winit::event::TouchPhase::Moved => TouchPhase::Moved,
367 winit::event::TouchPhase::Ended => TouchPhase::Ended,
368 winit::event::TouchPhase::Cancelled => TouchPhase::Cancelled,
369 }
370}
371
372pub fn map_winit_touch_force(event: winit::event::Force) -> Force {
373 match event {
374 winit::event::Force::Calibrated {
375 force,
376 max_possible_force,
377 altitude_angle,
378 } => Force::Calibrated {
379 force,
380 max_possible_force,
381 altitude_angle,
382 },
383 winit::event::Force::Normalized(f) => Force::Normalized(f),
384 }
385}