| 15 | { |
| 16 | |
| 17 | static SystemEvent::KeyEvent::KeyCode TranslateKey( const SDL_Scancode scan_code ) |
| 18 | { |
| 19 | using KeyCode= SystemEvent::KeyEvent::KeyCode; |
| 20 | |
| 21 | switch( scan_code ) |
| 22 | { |
| 23 | case SDL_SCANCODE_ESCAPE: return KeyCode::Escape; |
| 24 | case SDL_SCANCODE_RETURN: return KeyCode::Enter; |
| 25 | case SDL_SCANCODE_SPACE: return KeyCode::Space; |
| 26 | case SDL_SCANCODE_BACKSPACE: return KeyCode::Backspace; |
| 27 | case SDL_SCANCODE_GRAVE: return KeyCode::BackQuote; |
| 28 | case SDL_SCANCODE_TAB: return KeyCode::Tab; |
| 29 | |
| 30 | case SDL_SCANCODE_PAGEUP: return KeyCode::PageUp; |
| 31 | case SDL_SCANCODE_PAGEDOWN: return KeyCode::PageDown; |
| 32 | |
| 33 | case SDL_SCANCODE_RIGHT: return KeyCode::Right; |
| 34 | case SDL_SCANCODE_LEFT: return KeyCode::Left; |
| 35 | case SDL_SCANCODE_DOWN: return KeyCode::Down; |
| 36 | case SDL_SCANCODE_UP: return KeyCode::Up; |
| 37 | |
| 38 | case SDL_SCANCODE_MINUS: return KeyCode::Minus; |
| 39 | case SDL_SCANCODE_EQUALS: return KeyCode::Equals; |
| 40 | |
| 41 | case SDL_SCANCODE_LEFTBRACKET: return KeyCode::SquareBrackretLeft; |
| 42 | case SDL_SCANCODE_RIGHTBRACKET: return KeyCode::SquareBrackretRight; |
| 43 | |
| 44 | case SDL_SCANCODE_SEMICOLON: return KeyCode::Semicolon; |
| 45 | case SDL_SCANCODE_APOSTROPHE: return KeyCode::Apostrophe; |
| 46 | case SDL_SCANCODE_BACKSLASH: return KeyCode::BackSlash; |
| 47 | |
| 48 | case SDL_SCANCODE_COMMA: return KeyCode::Comma; |
| 49 | case SDL_SCANCODE_PERIOD: return KeyCode::Period; |
| 50 | case SDL_SCANCODE_SLASH: return KeyCode::Slash; |
| 51 | |
| 52 | case SDL_SCANCODE_PAUSE: return KeyCode::Pause; |
| 53 | |
| 54 | default: |
| 55 | if( scan_code >= SDL_SCANCODE_A && scan_code <= SDL_SCANCODE_Z ) |
| 56 | return KeyCode( int(KeyCode::A) + (scan_code - SDL_SCANCODE_A) ); |
| 57 | if( scan_code >= SDL_SCANCODE_1 && scan_code <= SDL_SCANCODE_9 ) |
| 58 | return KeyCode( int(KeyCode::K1) + (scan_code - SDL_SCANCODE_1) ); |
| 59 | if( scan_code == SDL_SCANCODE_0 ) |
| 60 | return KeyCode::K0; |
| 61 | if( scan_code >= SDL_SCANCODE_F1 && scan_code <= SDL_SCANCODE_F12 ) |
| 62 | return KeyCode( int(KeyCode::F1) + (scan_code - SDL_SCANCODE_F1) ); |
| 63 | }; |
| 64 | |
| 65 | return KeyCode::Unknown; |
| 66 | } |
| 67 | |
| 68 | static SystemEvent::MouseKeyEvent::Button TranslateMouseButton( const Uint8 button ) |
| 69 | { |
no test coverage detected