use glium::winit::keyboard::KeyCode;
pub trait KeyToString {
fn format_as_string(&self) -> &'static str;
}
impl KeyToString for KeyCode {
fn format_as_string(&self) -> &'static str {
match self {
KeyCode::Backquote => "`",
KeyCode::Backslash => "\\",
KeyCode::BracketLeft => "[",
KeyCode::BracketRight => "]",
KeyCode::Comma => ",",
KeyCode::Digit0 => "0",
KeyCode::Digit1 => "1",
KeyCode::Digit2 => "2",
KeyCode::Digit3 => "3",
KeyCode::Digit4 => "4",
KeyCode::Digit5 => "5",
KeyCode::Digit6 => "6",
KeyCode::Digit7 => "7",
KeyCode::Digit8 => "8",
KeyCode::Digit9 => "9",
KeyCode::Equal => "=",
KeyCode::Minus => "-",
KeyCode::Period => ".",
KeyCode::Quote => "'",
KeyCode::Semicolon => ";",
KeyCode::Slash => "/",
KeyCode::Space => "Space",
KeyCode::Tab => "Tab",
KeyCode::KeyA => "A",
KeyCode::KeyB => "B",
KeyCode::KeyC => "C",
KeyCode::KeyD => "D",
KeyCode::KeyE => "E",
KeyCode::KeyF => "F",
KeyCode::KeyG => "G",
KeyCode::KeyH => "H",
KeyCode::KeyI => "I",
KeyCode::KeyJ => "J",
KeyCode::KeyK => "K",
KeyCode::KeyL => "L",
KeyCode::KeyM => "M",
KeyCode::KeyN => "N",
KeyCode::KeyO => "O",
KeyCode::KeyP => "P",
KeyCode::KeyQ => "Q",
KeyCode::KeyR => "R",
KeyCode::KeyS => "S",
KeyCode::KeyT => "T",
KeyCode::KeyU => "U",
KeyCode::KeyV => "V",
KeyCode::KeyW => "W",
KeyCode::KeyX => "X",
KeyCode::KeyY => "Y",
KeyCode::KeyZ => "Z",
KeyCode::AltLeft => "Alt",
KeyCode::AltRight => "AltGr",
KeyCode::ControlLeft => "Ctrl",
KeyCode::ControlRight => "Ctrl",
KeyCode::ShiftLeft => "Shift",
KeyCode::ShiftRight => "Shift",
KeyCode::SuperLeft => "Super",
KeyCode::SuperRight => "Super",
KeyCode::CapsLock => "CapsLock",
KeyCode::Meta => "Meta",
KeyCode::Hyper => "Hyper",
KeyCode::Backspace => "Backspace",
KeyCode::Delete => "Delete",
KeyCode::Insert => "Insert",
KeyCode::Enter => "Enter",
KeyCode::Escape => "Esc",
KeyCode::Home => "Home",
KeyCode::End => "End",
KeyCode::PageUp => "PageUp",
KeyCode::PageDown => "PageDown",
KeyCode::ArrowUp => "↑",
KeyCode::ArrowDown => "↓",
KeyCode::ArrowLeft => "←",
KeyCode::ArrowRight => "→",
KeyCode::F1 => "F1",
KeyCode::F2 => "F2",
KeyCode::F3 => "F3",
KeyCode::F4 => "F4",
KeyCode::F5 => "F5",
KeyCode::F6 => "F6",
KeyCode::F7 => "F7",
KeyCode::F8 => "F8",
KeyCode::F9 => "F9",
KeyCode::F10 => "F10",
KeyCode::F11 => "F11",
KeyCode::F12 => "F12",
KeyCode::F13 => "F13",
KeyCode::F14 => "F14",
KeyCode::F15 => "F15",
KeyCode::F16 => "F16",
KeyCode::F17 => "F17",
KeyCode::F18 => "F18",
KeyCode::F19 => "F19",
KeyCode::F20 => "F20",
KeyCode::F21 => "F21",
KeyCode::F22 => "F22",
KeyCode::F23 => "F23",
KeyCode::F24 => "F24",
KeyCode::F25 => "F25",
KeyCode::F26 => "F26",
KeyCode::F27 => "F27",
KeyCode::F28 => "F28",
KeyCode::F29 => "F29",
KeyCode::F30 => "F30",
KeyCode::F31 => "F31",
KeyCode::F32 => "F32",
KeyCode::F33 => "F33",
KeyCode::F34 => "F34",
KeyCode::F35 => "F35",
KeyCode::NumLock => "NumLock",
KeyCode::Numpad0 => "Num0",
KeyCode::Numpad1 => "Num1",
KeyCode::Numpad2 => "Num2",
KeyCode::Numpad3 => "Num3",
KeyCode::Numpad4 => "Num4",
KeyCode::Numpad5 => "Num5",
KeyCode::Numpad6 => "Num6",
KeyCode::Numpad7 => "Num7",
KeyCode::Numpad8 => "Num8",
KeyCode::Numpad9 => "Num9",
KeyCode::NumpadAdd => "Num+",
KeyCode::NumpadSubtract => "Num-",
KeyCode::NumpadMultiply => "Num*",
KeyCode::NumpadDivide => "Num/",
KeyCode::NumpadDecimal => "Num.",
KeyCode::NumpadEnter => "NumEnter",
KeyCode::NumpadEqual => "Num=",
KeyCode::NumpadComma => "Num,",
KeyCode::NumpadStar => "Num*",
KeyCode::NumpadHash => "Num#",
KeyCode::NumpadParenLeft => "Num(",
KeyCode::NumpadParenRight => "Num)",
KeyCode::PrintScreen => "PrintScreen",
KeyCode::ScrollLock => "ScrollLock",
KeyCode::Pause => "Pause",
KeyCode::Power => "Power",
KeyCode::Sleep => "Sleep",
KeyCode::WakeUp => "Wake",
KeyCode::AudioVolumeMute => "Mute",
KeyCode::AudioVolumeDown => "Vol-",
KeyCode::AudioVolumeUp => "Vol+",
KeyCode::MediaPlayPause => "Play/Pause",
KeyCode::MediaStop => "Stop",
KeyCode::MediaTrackNext => "Next",
KeyCode::MediaTrackPrevious => "Prev",
KeyCode::MediaSelect => "Media",
KeyCode::BrowserBack => "BrowserBack",
KeyCode::BrowserForward => "BrowserForward",
KeyCode::BrowserHome => "BrowserHome",
KeyCode::BrowserRefresh => "BrowserRefresh",
KeyCode::BrowserSearch => "BrowserSearch",
KeyCode::BrowserStop => "BrowserStop",
KeyCode::BrowserFavorites => "BrowserFav",
KeyCode::LaunchApp1 => "App1",
KeyCode::LaunchApp2 => "App2",
KeyCode::LaunchMail => "Mail",
KeyCode::IntlBackslash => "\\",
KeyCode::IntlRo => "Ro",
KeyCode::IntlYen => "¥",
KeyCode::Convert => "Convert",
KeyCode::NonConvert => "NonConvert",
KeyCode::KanaMode => "Kana",
KeyCode::Lang1 => "Lang1",
KeyCode::Lang2 => "Lang2",
KeyCode::Lang3 => "Lang3",
KeyCode::Lang4 => "Lang4",
KeyCode::Lang5 => "Lang5",
KeyCode::Hiragana => "Hiragana",
KeyCode::Katakana => "Katakana",
KeyCode::ContextMenu => "Menu",
KeyCode::Fn => "Fn",
KeyCode::FnLock => "FnLock",
KeyCode::Help => "Help",
KeyCode::Eject => "Eject",
KeyCode::Turbo => "Turbo",
KeyCode::Abort => "Abort",
KeyCode::Resume => "Resume",
KeyCode::Suspend => "Suspend",
KeyCode::Again => "Again",
KeyCode::Copy => "Copy",
KeyCode::Cut => "Cut",
KeyCode::Find => "Find",
KeyCode::Open => "Open",
KeyCode::Paste => "Paste",
KeyCode::Props => "Props",
KeyCode::Select => "Select",
KeyCode::Undo => "Undo",
&_ => "Unknown key",
}
}
}