mirror of
https://github.com/glest/glest-source.git
synced 2025-08-18 06:01:17 +02:00
- additional work to allow for changing hotkeys in the keyboard options menu, currently changes are not saved to file, only on screen.
This commit is contained in:
@@ -636,6 +636,9 @@ char Window::getNormalKey(SDL_keysym keysym,bool skipSpecialKeys) {
|
||||
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] keysym.sym [%d] skipSpecialKeys = %d.\n",__FILE__,__FUNCTION__,__LINE__,keysym.sym,skipSpecialKeys);
|
||||
|
||||
SDLKey unicodeKey = static_cast<SDLKey>(getRawKey(keysym));
|
||||
if(unicodeKey == 0) {
|
||||
unicodeKey = keysym.sym;
|
||||
}
|
||||
|
||||
//string keyName = SDL_GetKeyName(keysym.sym);
|
||||
string keyName = SDL_GetKeyName(unicodeKey);
|
||||
@@ -662,15 +665,6 @@ char Window::getNormalKey(SDL_keysym keysym,bool skipSpecialKeys) {
|
||||
return vkShift;
|
||||
}
|
||||
}
|
||||
if(keyName == "plus sign" || keyName == "plus") {
|
||||
return vkAdd;
|
||||
}
|
||||
if(keyName == "minus sign" || keyName == "minus") {
|
||||
return vkSubtract;
|
||||
}
|
||||
if(keyName == "escape") {
|
||||
return vkEscape;
|
||||
}
|
||||
if(keyName == "up arrow" || keyName == "up") {
|
||||
return vkUp;
|
||||
}
|
||||
@@ -686,6 +680,15 @@ char Window::getNormalKey(SDL_keysym keysym,bool skipSpecialKeys) {
|
||||
if(keyName == "return" || keyName == "enter") {
|
||||
return vkReturn;
|
||||
}
|
||||
if(keyName == "plus sign" || keyName == "plus") {
|
||||
return vkAdd;
|
||||
}
|
||||
if(keyName == "minus sign" || keyName == "minus") {
|
||||
return vkSubtract;
|
||||
}
|
||||
if(keyName == "escape") {
|
||||
return vkEscape;
|
||||
}
|
||||
if(keyName == "tab") {
|
||||
return vkTab;
|
||||
}
|
||||
@@ -701,40 +704,47 @@ char Window::getNormalKey(SDL_keysym keysym,bool skipSpecialKeys) {
|
||||
if(keyName == "pause") {
|
||||
return vkPause;
|
||||
}
|
||||
if(keyName == "F1") {
|
||||
if(keyName == "question mark" || keyName == "?") {
|
||||
return '?';
|
||||
}
|
||||
if(keyName == "space") {
|
||||
return ' ';
|
||||
}
|
||||
|
||||
if(keyName == "f1") {
|
||||
return vkF1;
|
||||
}
|
||||
if(keyName == "F2") {
|
||||
if(keyName == "f2") {
|
||||
return vkF2;
|
||||
}
|
||||
if(keyName == "F3") {
|
||||
if(keyName == "f3") {
|
||||
return vkF3;
|
||||
}
|
||||
if(keyName == "F4") {
|
||||
if(keyName == "f4") {
|
||||
return vkF4;
|
||||
}
|
||||
if(keyName == "F5") {
|
||||
if(keyName == "f5") {
|
||||
return vkF5;
|
||||
}
|
||||
if(keyName == "F6") {
|
||||
if(keyName == "f6") {
|
||||
return vkF6;
|
||||
}
|
||||
if(keyName == "F7") {
|
||||
if(keyName == "f7") {
|
||||
return vkF7;
|
||||
}
|
||||
if(keyName == "F8") {
|
||||
if(keyName == "f8") {
|
||||
return vkF8;
|
||||
}
|
||||
if(keyName == "F9") {
|
||||
if(keyName == "f9") {
|
||||
return vkF9;
|
||||
}
|
||||
if(keyName == "F10") {
|
||||
if(keyName == "f10") {
|
||||
return vkF10;
|
||||
}
|
||||
if(keyName == "F11") {
|
||||
if(keyName == "f11") {
|
||||
return vkF11;
|
||||
}
|
||||
if(keyName == "F12") {
|
||||
if(keyName == "f12") {
|
||||
return vkF12;
|
||||
}
|
||||
if(keyName == "0") {
|
||||
@@ -767,9 +777,6 @@ char Window::getNormalKey(SDL_keysym keysym,bool skipSpecialKeys) {
|
||||
if(keyName == "9") {
|
||||
return '9';
|
||||
}
|
||||
if(keyName == "question mark" || keyName == "?") {
|
||||
return '?';
|
||||
}
|
||||
if(keyName == "a") {
|
||||
return 'A';
|
||||
}
|
||||
@@ -849,6 +856,9 @@ char Window::getNormalKey(SDL_keysym keysym,bool skipSpecialKeys) {
|
||||
return 'Z';
|
||||
}
|
||||
|
||||
if(unicodeKey > 0 && unicodeKey <= 255) {
|
||||
return unicodeKey;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -920,7 +930,9 @@ char Window::getKey(SDL_keysym keysym,bool skipSpecialKeys) {
|
||||
}
|
||||
}
|
||||
|
||||
c = keysym.sym;
|
||||
if(keysym.sym <= 255) {
|
||||
c = keysym.sym;
|
||||
}
|
||||
}
|
||||
|
||||
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %u] c = [%d]\n",__FILE__,__FUNCTION__,__LINE__,c);
|
||||
|
Reference in New Issue
Block a user