diff options
author | 2019-09-01 05:28:19 +0200 | |
---|---|---|
committer | 2019-09-01 05:28:19 +0200 | |
commit | c0083437eb888c2822f74e8d462f03656088113a (patch) | |
tree | 392bd69f37905f3cdd1fdfc0a9b588d8bf049ba9 /src | |
parent | 6fbba6f4eec1f2e7150f02e4c171f8ee60a46236 (diff) | |
download | iced-c0083437eb888c2822f74e8d462f03656088113a.tar.gz iced-c0083437eb888c2822f74e8d462f03656088113a.tar.bz2 iced-c0083437eb888c2822f74e8d462f03656088113a.zip |
Add conversion functions for `winit` feature
Diffstat (limited to 'src')
-rw-r--r-- | src/input/button_state.rs | 14 | ||||
-rw-r--r-- | src/input/keyboard/event.rs | 7 | ||||
-rw-r--r-- | src/input/keyboard/key_code.rs | 177 |
3 files changed, 193 insertions, 5 deletions
diff --git a/src/input/button_state.rs b/src/input/button_state.rs index 988043ba..e62c14e3 100644 --- a/src/input/button_state.rs +++ b/src/input/button_state.rs @@ -7,3 +7,17 @@ pub enum ButtonState { /// The button is __not__ pressed. Released, } + +#[cfg(feature = "winit")] +mod winit_conversion { + use winit::event::ElementState; + + impl From<ElementState> for super::ButtonState { + fn from(element_state: ElementState) -> Self { + match element_state { + ElementState::Pressed => super::ButtonState::Pressed, + ElementState::Released => super::ButtonState::Released, + } + } + } +} diff --git a/src/input/keyboard/event.rs b/src/input/keyboard/event.rs index 3804c42d..1c760fd3 100644 --- a/src/input/keyboard/event.rs +++ b/src/input/keyboard/event.rs @@ -13,9 +13,6 @@ pub enum Event { key_code: KeyCode, }, - /// Text was entered. - TextEntered { - /// The character entered - character: char, - }, + /// A unicode character was received. + ReceivedCharacter(char), } diff --git a/src/input/keyboard/key_code.rs b/src/input/keyboard/key_code.rs index 940df0db..b094f87b 100644 --- a/src/input/keyboard/key_code.rs +++ b/src/input/keyboard/key_code.rs @@ -196,3 +196,180 @@ pub enum KeyCode { Paste, Cut, } + +#[cfg(feature = "winit")] +mod winit_conversion { + use winit::event::VirtualKeyCode; + + impl From<VirtualKeyCode> for super::KeyCode { + fn from(virtual_keycode: VirtualKeyCode) -> Self { + match virtual_keycode { + VirtualKeyCode::Key1 => super::KeyCode::Key1, + VirtualKeyCode::Key2 => super::KeyCode::Key2, + VirtualKeyCode::Key3 => super::KeyCode::Key3, + VirtualKeyCode::Key4 => super::KeyCode::Key4, + VirtualKeyCode::Key5 => super::KeyCode::Key5, + VirtualKeyCode::Key6 => super::KeyCode::Key6, + VirtualKeyCode::Key7 => super::KeyCode::Key7, + VirtualKeyCode::Key8 => super::KeyCode::Key8, + VirtualKeyCode::Key9 => super::KeyCode::Key9, + VirtualKeyCode::Key0 => super::KeyCode::Key0, + VirtualKeyCode::A => super::KeyCode::A, + VirtualKeyCode::B => super::KeyCode::B, + VirtualKeyCode::C => super::KeyCode::C, + VirtualKeyCode::D => super::KeyCode::D, + VirtualKeyCode::E => super::KeyCode::E, + VirtualKeyCode::F => super::KeyCode::F, + VirtualKeyCode::G => super::KeyCode::G, + VirtualKeyCode::H => super::KeyCode::H, + VirtualKeyCode::I => super::KeyCode::I, + VirtualKeyCode::J => super::KeyCode::J, + VirtualKeyCode::K => super::KeyCode::K, + VirtualKeyCode::L => super::KeyCode::L, + VirtualKeyCode::M => super::KeyCode::M, + VirtualKeyCode::N => super::KeyCode::N, + VirtualKeyCode::O => super::KeyCode::O, + VirtualKeyCode::P => super::KeyCode::P, + VirtualKeyCode::Q => super::KeyCode::Q, + VirtualKeyCode::R => super::KeyCode::R, + VirtualKeyCode::S => super::KeyCode::S, + VirtualKeyCode::T => super::KeyCode::T, + VirtualKeyCode::U => super::KeyCode::U, + VirtualKeyCode::V => super::KeyCode::V, + VirtualKeyCode::W => super::KeyCode::W, + VirtualKeyCode::X => super::KeyCode::X, + VirtualKeyCode::Y => super::KeyCode::Y, + VirtualKeyCode::Z => super::KeyCode::Z, + VirtualKeyCode::Escape => super::KeyCode::Escape, + VirtualKeyCode::F1 => super::KeyCode::F1, + VirtualKeyCode::F2 => super::KeyCode::F2, + VirtualKeyCode::F3 => super::KeyCode::F3, + VirtualKeyCode::F4 => super::KeyCode::F4, + VirtualKeyCode::F5 => super::KeyCode::F5, + VirtualKeyCode::F6 => super::KeyCode::F6, + VirtualKeyCode::F7 => super::KeyCode::F7, + VirtualKeyCode::F8 => super::KeyCode::F8, + VirtualKeyCode::F9 => super::KeyCode::F9, + VirtualKeyCode::F10 => super::KeyCode::F10, + VirtualKeyCode::F11 => super::KeyCode::F11, + VirtualKeyCode::F12 => super::KeyCode::F12, + VirtualKeyCode::F13 => super::KeyCode::F13, + VirtualKeyCode::F14 => super::KeyCode::F14, + VirtualKeyCode::F15 => super::KeyCode::F15, + VirtualKeyCode::F16 => super::KeyCode::F16, + VirtualKeyCode::F17 => super::KeyCode::F17, + VirtualKeyCode::F18 => super::KeyCode::F18, + VirtualKeyCode::F19 => super::KeyCode::F19, + VirtualKeyCode::F20 => super::KeyCode::F20, + VirtualKeyCode::F21 => super::KeyCode::F21, + VirtualKeyCode::F22 => super::KeyCode::F22, + VirtualKeyCode::F23 => super::KeyCode::F23, + VirtualKeyCode::F24 => super::KeyCode::F24, + VirtualKeyCode::Snapshot => super::KeyCode::Snapshot, + VirtualKeyCode::Scroll => super::KeyCode::Scroll, + VirtualKeyCode::Pause => super::KeyCode::Pause, + VirtualKeyCode::Insert => super::KeyCode::Insert, + VirtualKeyCode::Home => super::KeyCode::Home, + VirtualKeyCode::Delete => super::KeyCode::Delete, + VirtualKeyCode::End => super::KeyCode::End, + VirtualKeyCode::PageDown => super::KeyCode::PageDown, + VirtualKeyCode::PageUp => super::KeyCode::PageUp, + VirtualKeyCode::Left => super::KeyCode::Left, + VirtualKeyCode::Up => super::KeyCode::Up, + VirtualKeyCode::Right => super::KeyCode::Right, + VirtualKeyCode::Down => super::KeyCode::Down, + VirtualKeyCode::Back => super::KeyCode::Backspace, + VirtualKeyCode::Return => super::KeyCode::Enter, + VirtualKeyCode::Space => super::KeyCode::Space, + VirtualKeyCode::Compose => super::KeyCode::Compose, + VirtualKeyCode::Caret => super::KeyCode::Caret, + VirtualKeyCode::Numlock => super::KeyCode::Numlock, + VirtualKeyCode::Numpad0 => super::KeyCode::Numpad0, + VirtualKeyCode::Numpad1 => super::KeyCode::Numpad1, + VirtualKeyCode::Numpad2 => super::KeyCode::Numpad2, + VirtualKeyCode::Numpad3 => super::KeyCode::Numpad3, + VirtualKeyCode::Numpad4 => super::KeyCode::Numpad4, + VirtualKeyCode::Numpad5 => super::KeyCode::Numpad5, + VirtualKeyCode::Numpad6 => super::KeyCode::Numpad6, + VirtualKeyCode::Numpad7 => super::KeyCode::Numpad7, + VirtualKeyCode::Numpad8 => super::KeyCode::Numpad8, + VirtualKeyCode::Numpad9 => super::KeyCode::Numpad9, + VirtualKeyCode::AbntC1 => super::KeyCode::AbntC1, + VirtualKeyCode::AbntC2 => super::KeyCode::AbntC2, + VirtualKeyCode::Add => super::KeyCode::Add, + VirtualKeyCode::Apostrophe => super::KeyCode::Apostrophe, + VirtualKeyCode::Apps => super::KeyCode::Apps, + VirtualKeyCode::At => super::KeyCode::At, + VirtualKeyCode::Ax => super::KeyCode::Ax, + VirtualKeyCode::Backslash => super::KeyCode::Backslash, + VirtualKeyCode::Calculator => super::KeyCode::Calculator, + VirtualKeyCode::Capital => super::KeyCode::Capital, + VirtualKeyCode::Colon => super::KeyCode::Colon, + VirtualKeyCode::Comma => super::KeyCode::Comma, + VirtualKeyCode::Convert => super::KeyCode::Convert, + VirtualKeyCode::Decimal => super::KeyCode::Decimal, + VirtualKeyCode::Divide => super::KeyCode::Divide, + VirtualKeyCode::Equals => super::KeyCode::Equals, + VirtualKeyCode::Grave => super::KeyCode::Grave, + VirtualKeyCode::Kana => super::KeyCode::Kana, + VirtualKeyCode::Kanji => super::KeyCode::Kanji, + VirtualKeyCode::LAlt => super::KeyCode::LAlt, + VirtualKeyCode::LBracket => super::KeyCode::LBracket, + VirtualKeyCode::LControl => super::KeyCode::LControl, + VirtualKeyCode::LShift => super::KeyCode::LShift, + VirtualKeyCode::LWin => super::KeyCode::LWin, + VirtualKeyCode::Mail => super::KeyCode::Mail, + VirtualKeyCode::MediaSelect => super::KeyCode::MediaSelect, + VirtualKeyCode::MediaStop => super::KeyCode::MediaStop, + VirtualKeyCode::Minus => super::KeyCode::Minus, + VirtualKeyCode::Multiply => super::KeyCode::Multiply, + VirtualKeyCode::Mute => super::KeyCode::Mute, + VirtualKeyCode::MyComputer => super::KeyCode::MyComputer, + VirtualKeyCode::NavigateForward => { + super::KeyCode::NavigateForward + } + VirtualKeyCode::NavigateBackward => { + super::KeyCode::NavigateBackward + } + VirtualKeyCode::NextTrack => super::KeyCode::NextTrack, + VirtualKeyCode::NoConvert => super::KeyCode::NoConvert, + VirtualKeyCode::NumpadComma => super::KeyCode::NumpadComma, + VirtualKeyCode::NumpadEnter => super::KeyCode::NumpadEnter, + VirtualKeyCode::NumpadEquals => super::KeyCode::NumpadEquals, + VirtualKeyCode::OEM102 => super::KeyCode::OEM102, + VirtualKeyCode::Period => super::KeyCode::Period, + VirtualKeyCode::PlayPause => super::KeyCode::PlayPause, + VirtualKeyCode::Power => super::KeyCode::Power, + VirtualKeyCode::PrevTrack => super::KeyCode::PrevTrack, + VirtualKeyCode::RAlt => super::KeyCode::RAlt, + VirtualKeyCode::RBracket => super::KeyCode::RBracket, + VirtualKeyCode::RControl => super::KeyCode::RControl, + VirtualKeyCode::RShift => super::KeyCode::RShift, + VirtualKeyCode::RWin => super::KeyCode::RWin, + VirtualKeyCode::Semicolon => super::KeyCode::Semicolon, + VirtualKeyCode::Slash => super::KeyCode::Slash, + VirtualKeyCode::Sleep => super::KeyCode::Sleep, + VirtualKeyCode::Stop => super::KeyCode::Stop, + VirtualKeyCode::Subtract => super::KeyCode::Subtract, + VirtualKeyCode::Sysrq => super::KeyCode::Sysrq, + VirtualKeyCode::Tab => super::KeyCode::Tab, + VirtualKeyCode::Underline => super::KeyCode::Underline, + VirtualKeyCode::Unlabeled => super::KeyCode::Unlabeled, + VirtualKeyCode::VolumeDown => super::KeyCode::VolumeDown, + VirtualKeyCode::VolumeUp => super::KeyCode::VolumeUp, + VirtualKeyCode::Wake => super::KeyCode::Wake, + VirtualKeyCode::WebBack => super::KeyCode::WebBack, + VirtualKeyCode::WebFavorites => super::KeyCode::WebFavorites, + VirtualKeyCode::WebForward => super::KeyCode::WebForward, + VirtualKeyCode::WebHome => super::KeyCode::WebHome, + VirtualKeyCode::WebRefresh => super::KeyCode::WebRefresh, + VirtualKeyCode::WebSearch => super::KeyCode::WebSearch, + VirtualKeyCode::WebStop => super::KeyCode::WebStop, + VirtualKeyCode::Yen => super::KeyCode::Yen, + VirtualKeyCode::Copy => super::KeyCode::Copy, + VirtualKeyCode::Paste => super::KeyCode::Paste, + VirtualKeyCode::Cut => super::KeyCode::Cut, + } + } + } +} |