Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-08-16 17:07:46 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-08-16 17:07:46 +0400
commit45cf8d673ee41fd984bae85ac9dfd099d2c71dad (patch)
treea8806bd40bdfbeeca9cefaa527f8abe627fc77e9 /intern
parentf0259542e103d306a1dac5611ccf6c1fda95f0ac (diff)
add numpad key input for ghost/sdl
Diffstat (limited to 'intern')
-rw-r--r--intern/ghost/intern/GHOST_SystemSDL.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/intern/ghost/intern/GHOST_SystemSDL.cpp b/intern/ghost/intern/GHOST_SystemSDL.cpp
index aebb94d5cdf..f2cc45731fa 100644
--- a/intern/ghost/intern/GHOST_SystemSDL.cpp
+++ b/intern/ghost/intern/GHOST_SystemSDL.cpp
@@ -385,8 +385,26 @@ GHOST_SystemSDL::processEvent(SDL_Event *sdl_event)
GHOST_TKey gkey= convertSDLKey(sdl_sub_evt.keysym.scancode);
/* note, the sdl_sub_evt.keysym.sym is truncated, for unicode support ghost has to be modified */
+ /* printf("%d\n", sym); */
if(sym > 127) {
- sym= 0;
+ switch(sym) {
+ case SDLK_KP_DIVIDE: sym= '/'; break;
+ case SDLK_KP_MULTIPLY: sym= '*'; break;
+ case SDLK_KP_MINUS: sym= '-'; break;
+ case SDLK_KP_PLUS: sym= '+'; break;
+ case SDLK_KP_1: sym= '1'; break;
+ case SDLK_KP_2: sym= '2'; break;
+ case SDLK_KP_3: sym= '3'; break;
+ case SDLK_KP_4: sym= '4'; break;
+ case SDLK_KP_5: sym= '5'; break;
+ case SDLK_KP_6: sym= '6'; break;
+ case SDLK_KP_7: sym= '7'; break;
+ case SDLK_KP_8: sym= '8'; break;
+ case SDLK_KP_9: sym= '9'; break;
+ case SDLK_KP_0: sym= '0'; break;
+ case SDLK_KP_PERIOD: sym= '.'; break;
+ default: sym= 0; break;
+ }
}
else {
if(sdl_sub_evt.keysym.mod & (KMOD_LSHIFT|KMOD_RSHIFT)) {