- fixed bug with unicode keypresses while pressing control

This commit is contained in:
Mark Vejvoda 2011-03-04 01:32:10 +00:00
parent 744602d0e3
commit ea8ce1d5c7
1 changed files with 13 additions and 10 deletions

View File

@ -599,17 +599,20 @@ MouseButton Window::getMouseButton(int sdlButton) {
char Window::getRawKey(SDL_keysym keysym) {
char result = 0;
Uint16 c = keysym.unicode;
if(c != 0 && (c & 0xFF80) == 0) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
c = keysym.unicode & 0x7F;
//c = toupper(c);
result = (c & 0xFF);
if(keysym.mod & (KMOD_LCTRL | KMOD_RCTRL) == 0) {
Uint16 c = keysym.unicode;
if(c != 0 && (c & 0xFF80) == 0) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
//c = keysym.unicode & 0x7F;
//c = toupper(c);
result = (c & 0xFF);
//result = c;
//if(c != 0) {
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] returning key [%d]\n",__FILE__,__FUNCTION__,__LINE__,result);
return 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;
//}
}
}
if(keysym.sym <= 255) {
result = keysym.sym;