- another attempt to fix keyboard menu for windows
This commit is contained in:
parent
d9e6b45052
commit
d75fbe51f6
|
@ -80,25 +80,35 @@ MenuStateKeysetup::MenuStateKeysetup(Program *program, MainMenu *mainMenu):
|
||||||
keyButtonsToRender=400/keyButtonsLineHeight;
|
keyButtonsToRender=400/keyButtonsLineHeight;
|
||||||
int labelWidth=100;
|
int labelWidth=100;
|
||||||
|
|
||||||
|
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
|
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
|
||||||
mergedProperties=configKeys.getMergedProperties();
|
mergedProperties=configKeys.getMergedProperties();
|
||||||
masterProperties=configKeys.getMasterProperties();
|
masterProperties=configKeys.getMasterProperties();
|
||||||
//userProperties=configKeys.getUserProperties();
|
//userProperties=configKeys.getUserProperties();
|
||||||
userProperties.clear();
|
userProperties.clear();
|
||||||
|
|
||||||
|
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
//throw runtime_error("Test!");
|
//throw runtime_error("Test!");
|
||||||
|
|
||||||
for(int i = 0; i < mergedProperties.size(); ++i) {
|
for(int i = 0; i < mergedProperties.size(); ++i) {
|
||||||
|
|
||||||
string keyName = mergedProperties[i].second;
|
string keyName = mergedProperties[i].second;
|
||||||
if(keyName.length() > 0) {
|
if(keyName.length() > 0) {
|
||||||
SDLKey keysym = static_cast<SDLKey>(configKeys.translateStringToCharKey(keyName));
|
char c = configKeys.translateStringToCharKey(keyName);
|
||||||
// SDL skips capital letters
|
if(c > SDLK_UNKNOWN && c < SDLK_LAST) {
|
||||||
if(keysym >= 65 && keysym <= 90) {
|
SDLKey keysym = static_cast<SDLKey>(c);
|
||||||
keysym = (SDLKey)((int)keysym + 32);
|
// SDL skips capital letters
|
||||||
|
if(keysym >= 65 && keysym <= 90) {
|
||||||
|
keysym = (SDLKey)((int)keysym + 32);
|
||||||
|
}
|
||||||
|
keyName = SDL_GetKeyName(keysym);
|
||||||
}
|
}
|
||||||
keyName = SDL_GetKeyName(keysym);
|
else {
|
||||||
if(keyName == "unknown key") {
|
keyName = "";
|
||||||
|
}
|
||||||
|
if(keyName == "unknown key" || keyName == "") {
|
||||||
keyName = mergedProperties[i].second;
|
keyName = mergedProperties[i].second;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,6 +123,8 @@ MenuStateKeysetup::MenuStateKeysetup(Program *program, MainMenu *mainMenu):
|
||||||
labels.push_back(label);
|
labels.push_back(label);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
keyScrollBar.init(keyButtonsXBase+keyButtonsWidth+labelWidth+20,200,false,200,20);
|
keyScrollBar.init(keyButtonsXBase+keyButtonsWidth+labelWidth+20,200,false,200,20);
|
||||||
keyScrollBar.setLength(400);
|
keyScrollBar.setLength(400);
|
||||||
keyScrollBar.setElementCount(keyButtons.size());
|
keyScrollBar.setElementCount(keyButtons.size());
|
||||||
|
|
|
@ -55,7 +55,7 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MenuStateKeysetup(Program *program, MainMenu *mainMenu);
|
MenuStateKeysetup(Program *program, MainMenu *mainMenu);
|
||||||
~MenuStateKeysetup();
|
virtual ~MenuStateKeysetup();
|
||||||
|
|
||||||
void mouseClick(int x, int y, MouseButton mouseButton);
|
void mouseClick(int x, int y, MouseButton mouseButton);
|
||||||
void mouseMove(int x, int y, const MouseState *mouseState);
|
void mouseMove(int x, int y, const MouseState *mouseState);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user