diff options
Diffstat (limited to 'src/win.rs')
-rw-r--r-- | src/win.rs | 85 |
1 files changed, 85 insertions, 0 deletions
@@ -76,10 +76,24 @@ pub enum Key { NumPad7, NumPad8, NumPad9, + NumPadPeriod, + NumPadPlus, + NumPadMinus, + NumPadDivide, + NumPadMultiply, + NumPadEnter, + NumLock, Up, Left, Right, Down, + PrintScreen, + ScrollLock, + Pause, + Home, + End, + Insert, + Delete, PageUp, PageDown, Space, @@ -91,6 +105,20 @@ pub enum Key { RCtrl, LAlt, RAlt, + LGui, + RGui, + LeftBracket, + RightBracket, + Backslash, + Semicolon, + Quote, + Comma, + Period, + Slash, + Backtick, + Backspace, + Tab, + CapsLock, F1, F2, F3, @@ -153,6 +181,13 @@ impl Key { LEFT => Key::Left, RIGHT => Key::Right, DOWN => Key::Down, + PRINTSCREEN => Key::PrintScreen, + SCROLLLOCK => Key::ScrollLock, + PAUSE => Key::Pause, + HOME => Key::Home, + END => Key::End, + INSERT => Key::Insert, + DELETE => Key::Delete, ESCAPE => Key::Escape, PAGEUP => Key::PageUp, PAGEDOWN => Key::PageDown, @@ -178,12 +213,33 @@ impl Key { KP_7 => Key::NumPad7, KP_8 => Key::NumPad8, KP_9 => Key::NumPad9, + KP_PERIOD => Key::NumPadPeriod, + KP_PLUS => Key::NumPadPlus, + KP_MINUS => Key::NumPadMinus, + KP_DIVIDE => Key::NumPadDivide, + KP_MULTIPLY => Key::NumPadMultiply, + KP_ENTER => Key::NumPadEnter, + NUMLOCKCLEAR => Key::NumLock, LSHIFT => Key::LShift, RSHIFT => Key::RShift, LCTRL => Key::LCtrl, RCTRL => Key::RCtrl, LALT => Key::LAlt, RALT => Key::RAlt, + LGUI => Key::LGui, + RGUI => Key::RGui, + LEFTBRACKET => Key::LeftBracket, + RIGHTBRACKET => Key::RightBracket, + BACKSLASH => Key::Backslash, + SEMICOLON => Key::Semicolon, + APOSTROPHE => Key::Quote, + COMMA => Key::Comma, + PERIOD => Key::Period, + SLASH => Key::Slash, + GRAVE => Key::Backtick, + BACKSPACE => Key::Backspace, + TAB => Key::Tab, + CAPSLOCK => Key::CapsLock, _ => return None, }) } @@ -231,6 +287,16 @@ impl Key { Key::N9 => N9, Key::Minus => MINUS, Key::Equals => EQUALS, + Key::LeftBracket => LEFTBRACKET, + Key::RightBracket => RIGHTBRACKET, + Key::Backslash => BACKSLASH, + Key::Semicolon => SEMICOLON, + Key::Comma => COMMA, + Key::Period => PERIOD, + Key::Slash => SLASH, + Key::Quote => APOSTROPHE, + Key::Backtick => GRAVE, + Key::Backspace => BACKSPACE, Key::Up => UP, Key::Left => LEFT, Key::Right => RIGHT, @@ -238,6 +304,8 @@ impl Key { Key::Escape => ESCAPE, Key::PageUp => PAGEUP, Key::PageDown => PAGEDOWN, + Key::Tab => TAB, + Key::CapsLock => CAPSLOCK, Key::F1 => F1, Key::F2 => F2, Key::F3 => F3, @@ -260,12 +328,28 @@ impl Key { Key::NumPad7 => KP_7, Key::NumPad8 => KP_8, Key::NumPad9 => KP_9, + Key::NumPadPeriod => KP_PERIOD, + Key::NumPadPlus => KP_PLUS, + Key::NumPadMinus => KP_MINUS, + Key::NumPadMultiply => KP_MULTIPLY, + Key::NumPadDivide => KP_DIVIDE, + Key::NumPadEnter => KP_ENTER, + Key::NumLock => NUMLOCKCLEAR, + Key::ScrollLock => SCROLLLOCK, + Key::PrintScreen => PRINTSCREEN, + Key::Pause => PAUSE, + Key::Home => HOME, + Key::End => END, + Key::Insert => INSERT, + Key::Delete => DELETE, Key::LShift => LSHIFT, Key::RShift => RSHIFT, Key::LCtrl => LCTRL, Key::RCtrl => RCTRL, Key::LAlt => LALT, Key::RAlt => RALT, + Key::LGui => LGUI, + Key::RGui => RGUI, } } } @@ -1034,6 +1118,7 @@ impl Window { } unsafe { + sdl::set_main_ready(); sdl::set_hint("SDL_NO_SIGNAL_HANDLERS", "1"); // don't replace Ctrl+C, TERM with quit event sdl::init()?; #[cfg(debug_assertions)] |