support numpad keys

This commit is contained in:
Josh Holtrop 2017-01-15 22:18:51 -05:00
parent 5b0a7c44d8
commit 837380c3ca

View File

@ -393,6 +393,43 @@ uint32_t Window::get_keyval(SDL_Keycode keysym)
keyval |= Keymod::SHIFT; keyval |= Keymod::SHIFT;
} }
} }
switch (keyval)
{
case SDLK_KP_DIVIDE: keyval = '/'; break;
case SDLK_KP_MULTIPLY: keyval = '*'; break;
case SDLK_KP_MINUS: keyval = '-'; break;
case SDLK_KP_PLUS: keyval = '+'; break;
case SDLK_KP_ENTER: keyval = SDLK_RETURN; break;
case SDLK_KP_1: keyval = '1'; break;
case SDLK_KP_2: keyval = '2'; break;
case SDLK_KP_3: keyval = '3'; break;
case SDLK_KP_4: keyval = '4'; break;
case SDLK_KP_5: keyval = '5'; break;
case SDLK_KP_6: keyval = '6'; break;
case SDLK_KP_7: keyval = '7'; break;
case SDLK_KP_8: keyval = '8'; break;
case SDLK_KP_9: keyval = '9'; break;
case SDLK_KP_0: keyval = '0'; break;
case SDLK_KP_PERIOD: keyval = '.'; break;
case SDLK_KP_EQUALS: keyval = '='; break;
case SDLK_KP_COMMA: keyval = ','; break;
case SDLK_KP_LEFTPAREN: keyval = '('; break;
case SDLK_KP_RIGHTPAREN: keyval = ')'; break;
case SDLK_KP_LEFTBRACE: keyval = '{'; break;
case SDLK_KP_RIGHTBRACE: keyval = '}'; break;
case SDLK_KP_TAB: keyval = '\t'; break;
case SDLK_KP_BACKSPACE: keyval = '\b'; break;
case SDLK_KP_PERCENT: keyval = '%'; break;
case SDLK_KP_LESS: keyval = '<'; break;
case SDLK_KP_GREATER: keyval = '>'; break;
case SDLK_KP_AMPERSAND: keyval = '&'; break;
case SDLK_KP_VERTICALBAR: keyval = '|'; break;
case SDLK_KP_COLON: keyval = ':'; break;
case SDLK_KP_HASH: keyval = '#'; break;
case SDLK_KP_SPACE: keyval = ' '; break;
case SDLK_KP_AT: keyval = '@'; break;
case SDLK_KP_EXCLAM: keyval = '!'; break;
}
if ((m_keymod & KMOD_CTRL) != 0u) if ((m_keymod & KMOD_CTRL) != 0u)
{ {
keyval |= Keymod::CTRL; keyval |= Keymod::CTRL;