- bugfix for multi-unit selection (pressing shift does not unselect previously selected units now)

This commit is contained in:
Mark Vejvoda
2010-07-15 19:48:28 +00:00
parent 1096e81562
commit 2ada9e7550
3 changed files with 28 additions and 1 deletions

View File

@@ -553,6 +553,15 @@ char Window::getKey(SDL_keysym keysym,bool skipSpecialKeys) {
case SDLK_RSHIFT:
return vkShift;
}
if(keysym.mod & (KMOD_LALT | KMOD_RALT)) {
return vkAlt;
}
else if(keysym.mod & (KMOD_LCTRL | KMOD_RCTRL)) {
return vkControl;
}
else if(keysym.mod & (KMOD_LSHIFT | KMOD_RSHIFT)) {
return vkShift;
}
}
switch(keysym.sym) {
case SDLK_PLUS:
@@ -663,7 +672,7 @@ char Window::getKey(SDL_keysym keysym,bool skipSpecialKeys) {
if(c == 0) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
if(skipSpecialKeys == false) {
if(skipSpecialKeys == true) {
switch(keysym.sym) {
case SDLK_LALT:
case SDLK_RALT:
@@ -675,6 +684,16 @@ char Window::getKey(SDL_keysym keysym,bool skipSpecialKeys) {
case SDLK_RSHIFT:
return vkShift;
}
if(keysym.mod & (KMOD_LALT | KMOD_RALT)) {
return vkAlt;
}
else if(keysym.mod & (KMOD_LCTRL | KMOD_RCTRL)) {
return vkControl;
}
else if(keysym.mod & (KMOD_LSHIFT | KMOD_RSHIFT)) {
return vkShift;
}
}
c = keysym.sym;