From 837380c3caf17d59d1328000d111309c0001fa4c Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sun, 15 Jan 2017 22:18:51 -0500 Subject: [PATCH] support numpad keys --- src/gui/Window.cc | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/gui/Window.cc b/src/gui/Window.cc index a4c4e09..e891914 100644 --- a/src/gui/Window.cc +++ b/src/gui/Window.cc @@ -393,6 +393,43 @@ uint32_t Window::get_keyval(SDL_Keycode keysym) 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) { keyval |= Keymod::CTRL;