diff options
Diffstat (limited to '')
| -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, +            } +        } +    } +} | 
