From 10eba296fe5a82c5410cfd7d29b6e548f818c084 Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Fri, 4 Mar 2011 01:58:06 +0000 Subject: [PATCH] - some cleanup to free up using shift and alt key combinations for hotkeys also --- .../sources/platform/sdl/window.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/source/shared_lib/sources/platform/sdl/window.cpp b/source/shared_lib/sources/platform/sdl/window.cpp index 06afd240..d83c0f24 100644 --- a/source/shared_lib/sources/platform/sdl/window.cpp +++ b/source/shared_lib/sources/platform/sdl/window.cpp @@ -599,15 +599,24 @@ MouseButton Window::getMouseButton(int sdlButton) { char Window::getRawKey(SDL_keysym keysym) { char result = 0; - if(keysym.mod & (KMOD_LCTRL | KMOD_RCTRL) == 0) { - Uint16 c = keysym.unicode; - if(c != 0 && (c & 0xFF80) == 0) { + // Because Control messes up unicode character + + printf("keysym.mod & (KMOD_LCTRL | KMOD_RCTRL) = %d\n",(keysym.mod & (KMOD_LCTRL | KMOD_RCTRL))); + + if((keysym.mod & (KMOD_LCTRL | KMOD_RCTRL)) == 0) { + //printf("keysym.unicode = %d [%d]\n",keysym.unicode,0x80); + + //Uint16 c = keysym.unicode; + //if(c != 0 && (c & 0xFF80) == 0) { + if(keysym.unicode > 0 && keysym.unicode < 0x80) { SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); - //c = keysym.unicode & 0x7F; + result = keysym.unicode; //c = toupper(c); - result = (c & 0xFF); + //result = (c & 0xFF); //result = c; + //printf("result = %d\n",result); + //if(c != 0) { if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] returning key [%d]\n",__FILE__,__FUNCTION__,__LINE__,result); return result;