use flo_canvas_events::*;
use glutin::event::{VirtualKeyCode};
pub (crate) fn button_from_glutin(mouse_button: &glutin::event::MouseButton) -> Button {
use glutin::event::MouseButton;
match mouse_button {
MouseButton::Left => Button::Left,
MouseButton::Middle => Button::Middle,
MouseButton::Right => Button::Right,
MouseButton::Other(other) => Button::Other(*other as _)
}
}
pub (crate) fn key_from_glutin(glutin_key: &VirtualKeyCode) -> Key {
match glutin_key {
VirtualKeyCode::LShift => Key::ModifierShift,
VirtualKeyCode::LControl => Key::ModifierCtrl,
VirtualKeyCode::LAlt => Key::ModifierAlt,
VirtualKeyCode::LWin => Key::ModifierMeta,
VirtualKeyCode::RShift => Key::ModifierShift,
VirtualKeyCode::RControl => Key::ModifierCtrl,
VirtualKeyCode::RAlt => Key::ModifierAlt,
VirtualKeyCode::RWin => Key::ModifierMeta,
VirtualKeyCode::Tab => Key::KeyTab,
VirtualKeyCode::Space => Key::KeySpace,
VirtualKeyCode::A => Key::KeyA,
VirtualKeyCode::B => Key::KeyB,
VirtualKeyCode::C => Key::KeyC,
VirtualKeyCode::D => Key::KeyD,
VirtualKeyCode::E => Key::KeyE,
VirtualKeyCode::F => Key::KeyF,
VirtualKeyCode::G => Key::KeyG,
VirtualKeyCode::H => Key::KeyH,
VirtualKeyCode::I => Key::KeyI,
VirtualKeyCode::J => Key::KeyJ,
VirtualKeyCode::K => Key::KeyK,
VirtualKeyCode::L => Key::KeyL,
VirtualKeyCode::M => Key::KeyM,
VirtualKeyCode::N => Key::KeyN,
VirtualKeyCode::O => Key::KeyO,
VirtualKeyCode::P => Key::KeyP,
VirtualKeyCode::Q => Key::KeyQ,
VirtualKeyCode::R => Key::KeyR,
VirtualKeyCode::S => Key::KeyS,
VirtualKeyCode::T => Key::KeyT,
VirtualKeyCode::U => Key::KeyU,
VirtualKeyCode::V => Key::KeyV,
VirtualKeyCode::W => Key::KeyW,
VirtualKeyCode::X => Key::KeyX,
VirtualKeyCode::Y => Key::KeyY,
VirtualKeyCode::Z => Key::KeyZ,
VirtualKeyCode::Key1 => Key::Key1,
VirtualKeyCode::Key2 => Key::Key2,
VirtualKeyCode::Key3 => Key::Key3,
VirtualKeyCode::Key4 => Key::Key4,
VirtualKeyCode::Key5 => Key::Key5,
VirtualKeyCode::Key6 => Key::Key6,
VirtualKeyCode::Key7 => Key::Key7,
VirtualKeyCode::Key8 => Key::Key8,
VirtualKeyCode::Key9 => Key::Key9,
VirtualKeyCode::Key0 => Key::Key0,
VirtualKeyCode::Up => Key::KeyUp,
VirtualKeyCode::Down => Key::KeyDown,
VirtualKeyCode::Left => Key::KeyLeft,
VirtualKeyCode::Right => Key::KeyRight,
VirtualKeyCode::Backslash => Key::KeyBackslash,
VirtualKeyCode::Slash => Key::KeyForwardslash,
VirtualKeyCode::Grave => Key::KeyBacktick,
VirtualKeyCode::Comma => Key::KeyComma,
VirtualKeyCode::Period => Key::KeyFullstop,
VirtualKeyCode::Semicolon => Key::KeySemicolon,
VirtualKeyCode::Apostrophe => Key::KeyQuote,
VirtualKeyCode::Minus => Key::KeyMinus,
VirtualKeyCode::Equals => Key::KeyEquals,
VirtualKeyCode::Escape => Key::KeyEscape,
VirtualKeyCode::Insert => Key::KeyInsert,
VirtualKeyCode::Home => Key::KeyHome,
VirtualKeyCode::PageUp => Key::KeyPgUp,
VirtualKeyCode::Delete => Key::KeyDelete,
VirtualKeyCode::End => Key::KeyEnd,
VirtualKeyCode::PageDown => Key::KeyPgDown,
VirtualKeyCode::Back => Key::KeyBackspace,
VirtualKeyCode::Return => Key::KeyEnter,
VirtualKeyCode::F1 => Key::KeyF1,
VirtualKeyCode::F2 => Key::KeyF2,
VirtualKeyCode::F3 => Key::KeyF3,
VirtualKeyCode::F4 => Key::KeyF4,
VirtualKeyCode::F5 => Key::KeyF5,
VirtualKeyCode::F6 => Key::KeyF6,
VirtualKeyCode::F7 => Key::KeyF7,
VirtualKeyCode::F8 => Key::KeyF8,
VirtualKeyCode::F9 => Key::KeyF9,
VirtualKeyCode::F10 => Key::KeyF10,
VirtualKeyCode::F11 => Key::KeyF11,
VirtualKeyCode::F12 => Key::KeyF12,
VirtualKeyCode::F13 => Key::KeyF13,
VirtualKeyCode::F14 => Key::KeyF14,
VirtualKeyCode::F15 => Key::KeyF15,
VirtualKeyCode::F16 => Key::KeyF16,
VirtualKeyCode::Numpad0 => Key::KeyNumpad0,
VirtualKeyCode::Numpad1 => Key::KeyNumpad1,
VirtualKeyCode::Numpad2 => Key::KeyNumpad2,
VirtualKeyCode::Numpad3 => Key::KeyNumpad3,
VirtualKeyCode::Numpad4 => Key::KeyNumpad4,
VirtualKeyCode::Numpad5 => Key::KeyNumpad5,
VirtualKeyCode::Numpad6 => Key::KeyNumpad6,
VirtualKeyCode::Numpad7 => Key::KeyNumpad7,
VirtualKeyCode::Numpad8 => Key::KeyNumpad8,
VirtualKeyCode::Numpad9 => Key::KeyNumpad9,
VirtualKeyCode::NumpadDivide => Key::KeyNumpadDivide,
VirtualKeyCode::NumpadMultiply => Key::KeyNumpadMultiply,
VirtualKeyCode::NumpadSubtract => Key::KeyNumpadMinus,
VirtualKeyCode::NumpadAdd => Key::KeyNumpadAdd,
VirtualKeyCode::NumpadEnter => Key::KeyNumpadEnter,
VirtualKeyCode::NumpadDecimal => Key::KeyNumpadDecimal,
_ => Key::Unknown
}
}