- loads of changes in order to prepare for better input (not using char but SDLKey instead)

This commit is contained in:
Mark Vejvoda
2011-06-26 01:55:08 +00:00
parent 5f32d56b85
commit 4b6bc7a4a7
40 changed files with 615 additions and 328 deletions

View File

@@ -52,14 +52,23 @@ void ChatManager::init(Console* console, int thisTeamIndex, const bool inMenu, s
this->manualPlayerNameOverride = manualPlayerNameOverride; this->manualPlayerNameOverride = manualPlayerNameOverride;
} }
void ChatManager::keyUp(char key) { void ChatManager::setDisableTeamMode(bool value) {
disableTeamMode = value;
if(disableTeamMode == true) {
teamMode = false;
}
}
void ChatManager::keyUp(SDL_KeyboardEvent key) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
try { try {
if(editEnabled) { if(editEnabled) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
if(key == vkEscape || key == SDLK_ESCAPE) { //if(key == vkEscape || key == SDLK_ESCAPE) {
if(isKeyPressed(SDLK_ESCAPE,key) == true) {
text.clear(); text.clear();
editEnabled= false; editEnabled= false;
} }
@@ -74,16 +83,8 @@ void ChatManager::keyUp(char key) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
} }
void ChatManager::setDisableTeamMode(bool value) { void ChatManager::keyDown(SDL_KeyboardEvent key) {
disableTeamMode = value; SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
if(disableTeamMode == true) {
teamMode = false;
}
}
void ChatManager::keyDown(char key) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key);
try { try {
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
@@ -91,8 +92,9 @@ void ChatManager::keyDown(char key) {
//toggle team mode //toggle team mode
if(editEnabled == false && disableTeamMode == false && if(editEnabled == false && disableTeamMode == false &&
key == configKeys.getCharKey("ChatTeamMode")) { //key == configKeys.getCharKey("ChatTeamMode")) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key); isKeyPressed(configKeys.getSDLKey("ChatTeamMode"),key) == true) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
if (!inMenu) { if (!inMenu) {
if (teamMode == true) { if (teamMode == true) {
@@ -101,26 +103,25 @@ void ChatManager::keyDown(char key) {
"All")); "All"));
} else { } else {
teamMode = true; teamMode = true;
console->addLine(lang.get("ChatMode") + ": " + lang.get( console->addLine(lang.get("ChatMode") + ": " + lang.get("Team"));
"Team"));
} }
} }
} }
if(key==vkReturn){ //if(key==vkReturn) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key); if(isKeyPressed(SDLK_RETURN,key) == true) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
SDL_keysym keystate = Window::getKeystate(); SDL_keysym keystate = Window::getKeystate();
if(keystate.mod & (KMOD_LALT | KMOD_RALT)){ if(keystate.mod & (KMOD_LALT | KMOD_RALT)){
// alt+enter is ignored // alt+enter is ignored
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
} }
else else {
{ SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key);
if(editEnabled == true) { if(editEnabled == true) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
GameNetworkInterface *gameNetworkInterface= NetworkManager::getInstance().getGameNetworkInterface(); GameNetworkInterface *gameNetworkInterface= NetworkManager::getInstance().getGameNetworkInterface();
if(text.empty() == false) { if(text.empty() == false) {
@@ -145,14 +146,15 @@ void ChatManager::keyDown(char key) {
text.clear(); text.clear();
} }
else { else {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
switchOnEdit(); switchOnEdit();
} }
} }
} }
else if(key==vkBack) { //else if(key==vkBack) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key); else if(isKeyPressed(SDLK_BACKSPACE,key) == true) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
if(!text.empty()) { if(!text.empty()) {
text.erase(text.end() -1); text.erase(text.end() -1);
@@ -170,26 +172,26 @@ void ChatManager::keyDown(char key) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
} }
void ChatManager::switchOnEdit(){ void ChatManager::switchOnEdit() {
editEnabled= true; editEnabled= true;
text.clear(); text.clear();
} }
void ChatManager::keyPress(char c){ void ChatManager::keyPress(SDL_KeyboardEvent c) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,c,c); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,c.keysym.sym,c.keysym.sym);
if(editEnabled && text.size()<maxTextLenght){ if(editEnabled && text.size() < maxTextLenght) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,c,c); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,c.keysym.sym,c.keysym.sym);
//space is the first meaningful code //space is the first meaningful code
if(c>=' '){ if(extractKeyPressed(c) >= SDLK_SPACE) {
text+= c; text += extractKeyPressed(c);
} }
} }
} }
void ChatManager::addText(string text){ void ChatManager::addText(string text) {
if(editEnabled && text.size()+this->text.size()<maxTextLenght){ if(editEnabled && text.size() + this->text.size() < maxTextLenght) {
this->text+= text; this->text += text;
} }
} }

View File

@@ -14,6 +14,7 @@
#include <string> #include <string>
#include "font.h" #include "font.h"
#include <SDL.h>
#include "leak_dumper.h" #include "leak_dumper.h"
using std::string; using std::string;
@@ -28,7 +29,7 @@ class Console;
// class ChatManager // class ChatManager
// ===================================================== // =====================================================
class ChatManager{ class ChatManager {
private: private:
bool editEnabled; bool editEnabled;
@@ -50,9 +51,9 @@ public:
ChatManager(); ChatManager();
void init(Console* console, int thisTeamIndex, const bool inMenu=false, string manualPlayerNameOverride=""); void init(Console* console, int thisTeamIndex, const bool inMenu=false, string manualPlayerNameOverride="");
void keyDown(char key); void keyDown(SDL_KeyboardEvent key);
void keyUp(char key); void keyUp(SDL_KeyboardEvent key);
void keyPress(char c); void keyPress(SDL_KeyboardEvent c);
void updateNetwork(); void updateNetwork();
bool getEditEnabled() const {return editEnabled;} bool getEditEnabled() const {return editEnabled;}

View File

@@ -1491,9 +1491,9 @@ void Game::eventMouseWheel(int x, int y, int zDelta) {
} }
} }
void Game::keyDown(char key) { void Game::keyDown(SDL_KeyboardEvent key) {
try { try {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d] gameStarted [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key, gameStarted); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d] gameStarted [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym, gameStarted);
if(gameStarted == false) { if(gameStarted == false) {
return; return;
} }
@@ -1504,18 +1504,21 @@ void Game::keyDown(char key) {
chatManager.keyDown(key); chatManager.keyDown(key);
if(chatManager.getEditEnabled() == false) { if(chatManager.getEditEnabled() == false) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%d - %c]\n",__FILE__,__FUNCTION__,__LINE__,key,key); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%d - %c]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
//if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] key = [%d - %c] pausegame [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key,configKeys.getCharKey("PauseGame")); //if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] key = [%d - %c] pausegame [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key,configKeys.getCharKey("PauseGame"));
if(key == configKeys.getCharKey("RenderNetworkStatus")) { //if(key == configKeys.getCharKey("RenderNetworkStatus")) {
if(isKeyPressed(configKeys.getSDLKey("RenderNetworkStatus"),key) == true) {
renderNetworkStatus= !renderNetworkStatus; renderNetworkStatus= !renderNetworkStatus;
} }
else if(key == configKeys.getCharKey("ShowFullConsole")) { //else if(key == configKeys.getCharKey("ShowFullConsole")) {
else if(isKeyPressed(configKeys.getSDLKey("ShowFullConsole"),key) == true) {
showFullConsole= true; showFullConsole= true;
} }
else if(key == configKeys.getCharKey("TogglePhotoMode")) { //else if(key == configKeys.getCharKey("TogglePhotoMode")) {
else if(isKeyPressed(configKeys.getSDLKey("TogglePhotoMode"),key) == true) {
photoModeEnabled = !photoModeEnabled; photoModeEnabled = !photoModeEnabled;
if( photoModeEnabled == true && if( photoModeEnabled == true &&
this->gameSettings.isNetworkGame() == false) { this->gameSettings.isNetworkGame() == false) {
@@ -1527,7 +1530,8 @@ void Game::keyDown(char key) {
} }
//Toggle music //Toggle music
else if(key == configKeys.getCharKey("ToggleMusic")) { //else if(key == configKeys.getCharKey("ToggleMusic")) {
else if(isKeyPressed(configKeys.getSDLKey("ToggleMusic"),key) == true) {
Config &config = Config::getInstance(); Config &config = Config::getInstance();
StrSound *gameMusic = world.getThisFaction()->getType()->getMusic(); StrSound *gameMusic = world.getThisFaction()->getType()->getMusic();
if(gameMusic != NULL) { if(gameMusic != NULL) {
@@ -1545,60 +1549,71 @@ void Game::keyDown(char key) {
} }
} }
//move camera left //move camera left
else if(key == configKeys.getCharKey("CameraModeLeft")) { //else if(key == configKeys.getCharKey("CameraModeLeft")) {
else if(isKeyPressed(configKeys.getSDLKey("CameraModeLeft"),key) == true) {
gameCamera.setMoveX(-1); gameCamera.setMoveX(-1);
camLeftButtonDown=true; camLeftButtonDown=true;
} }
//move camera right //move camera right
else if(key == configKeys.getCharKey("CameraModeRight")) { //else if(key == configKeys.getCharKey("CameraModeRight")) {
else if(isKeyPressed(configKeys.getSDLKey("CameraModeRight"),key) == true) {
gameCamera.setMoveX(1); gameCamera.setMoveX(1);
camRightButtonDown=true; camRightButtonDown=true;
} }
//move camera up //move camera up
else if(key == configKeys.getCharKey("CameraModeUp")) { //else if(key == configKeys.getCharKey("CameraModeUp")) {
else if(isKeyPressed(configKeys.getSDLKey("CameraModeUp"),key) == true) {
gameCamera.setMoveZ(1); gameCamera.setMoveZ(1);
camUpButtonDown=true; camUpButtonDown=true;
} }
//move camera down //move camera down
else if(key == configKeys.getCharKey("CameraModeDown")) { //else if(key == configKeys.getCharKey("CameraModeDown")) {
else if(isKeyPressed(configKeys.getSDLKey("CameraModeDown"),key) == true) {
gameCamera.setMoveZ(-1); gameCamera.setMoveZ(-1);
camDownButtonDown=true; camDownButtonDown=true;
} }
//change camera mode //change camera mode
else if(key == configKeys.getCharKey("FreeCameraMode")) { //else if(key == configKeys.getCharKey("FreeCameraMode")) {
else if(isKeyPressed(configKeys.getSDLKey("FreeCameraMode"),key) == true) {
gameCamera.switchState(); gameCamera.switchState();
string stateString= gameCamera.getState()==GameCamera::sGame? lang.get("GameCamera"): lang.get("FreeCamera"); string stateString= gameCamera.getState()==GameCamera::sGame? lang.get("GameCamera"): lang.get("FreeCamera");
console.addLine(lang.get("CameraModeSet")+" "+ stateString); console.addLine(lang.get("CameraModeSet")+" "+ stateString);
} }
//reset camera mode to normal //reset camera mode to normal
else if(key == configKeys.getCharKey("ResetCameraMode")) { //else if(key == configKeys.getCharKey("ResetCameraMode")) {
else if(isKeyPressed(configKeys.getSDLKey("ResetCameraMode"),key) == true) {
gameCamera.resetPosition(); gameCamera.resetPosition();
} }
//pause //pause
else if(key == configKeys.getCharKey("PauseGame")) { //else if(key == configKeys.getCharKey("PauseGame")) {
else if(isKeyPressed(configKeys.getSDLKey("PauseGame"),key) == true) {
//printf("Toggle pause paused = %d\n",paused); //printf("Toggle pause paused = %d\n",paused);
setPaused(!paused); setPaused(!paused);
} }
//switch display color //switch display color
else if(key == configKeys.getCharKey("ChangeFontColor")) { //else if(key == configKeys.getCharKey("ChangeFontColor")) {
else if(isKeyPressed(configKeys.getSDLKey("ChangeFontColor"),key) == true) {
gui.switchToNextDisplayColor(); gui.switchToNextDisplayColor();
} }
//increment speed //increment speed
else if(key == configKeys.getCharKey("GameSpeedIncrease")) { //else if(key == configKeys.getCharKey("GameSpeedIncrease")) {
else if(isKeyPressed(configKeys.getSDLKey("GameSpeedIncrease"),key) == true) {
bool speedChangesAllowed= !NetworkManager::getInstance().isNetworkGame(); bool speedChangesAllowed= !NetworkManager::getInstance().isNetworkGame();
if(speedChangesAllowed){ if(speedChangesAllowed){
incSpeed(); incSpeed();
} }
} }
//decrement speed //decrement speed
else if(key == configKeys.getCharKey("GameSpeedDecrease")) { //else if(key == configKeys.getCharKey("GameSpeedDecrease")) {
else if(isKeyPressed(configKeys.getSDLKey("GameSpeedDecrease"),key) == true) {
bool speedChangesAllowed= !NetworkManager::getInstance().isNetworkGame(); bool speedChangesAllowed= !NetworkManager::getInstance().isNetworkGame();
if(speedChangesAllowed){ if(speedChangesAllowed){
decSpeed(); decSpeed();
} }
} }
//exit //exit
else if(key == configKeys.getCharKey("ExitKey")) { //else if(key == configKeys.getCharKey("ExitKey")) {
else if(isKeyPressed(configKeys.getSDLKey("ExitKey"),key) == true) {
showMessageBox(lang.get("ExitGame?"), "", true); showMessageBox(lang.get("ExitGame?"), "", true);
} }
//group //group
@@ -1608,10 +1623,14 @@ void Game::keyDown(char key) {
for(int idx = 1; idx <= Selection::maxGroups; idx++) { for(int idx = 1; idx <= Selection::maxGroups; idx++) {
string keyName = "GroupUnitsKey" + intToStr(idx); string keyName = "GroupUnitsKey" + intToStr(idx);
char groupHotKey = configKeys.getCharKey(keyName.c_str()); //char groupHotKey = configKeys.getCharKey(keyName.c_str());
//if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] keyName [%s] group index = %d, key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),idx,groupHotKey,groupHotKey);
SDLKey groupHotKey = configKeys.getSDLKey(keyName.c_str());
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] keyName [%s] group index = %d, key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),idx,groupHotKey,groupHotKey); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] keyName [%s] group index = %d, key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),idx,groupHotKey,groupHotKey);
if(key == groupHotKey) { //if(key == groupHotKey) {
if(isKeyPressed(groupHotKey,key) == true) {
//gui.groupKey(key-'0'); //gui.groupKey(key-'0');
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
gui.groupKey(idx-1); gui.groupKey(idx-1);
@@ -1630,19 +1649,23 @@ void Game::keyDown(char key) {
} }
else { else {
//rotate camera leftt //rotate camera leftt
if(key == configKeys.getCharKey("CameraRotateLeft")) { //if(key == configKeys.getCharKey("CameraRotateLeft")) {
if(isKeyPressed(configKeys.getSDLKey("CameraRotateLeft"),key) == true) {
gameCamera.setRotate(-1); gameCamera.setRotate(-1);
} }
//rotate camera right //rotate camera right
else if(key == configKeys.getCharKey("CameraRotateRight")){ //else if(key == configKeys.getCharKey("CameraRotateRight")){
else if(isKeyPressed(configKeys.getSDLKey("CameraRotateRight"),key) == true) {
gameCamera.setRotate(1); gameCamera.setRotate(1);
} }
//camera up //camera up
else if(key == configKeys.getCharKey("CameraRotateUp")) { //else if(key == configKeys.getCharKey("CameraRotateUp")) {
else if(isKeyPressed(configKeys.getSDLKey("CameraRotateUp"),key) == true) {
gameCamera.setMoveY(1); gameCamera.setMoveY(1);
} }
//camera down //camera down
else if(key == configKeys.getCharKey("CameraRotateDown")) { //else if(key == configKeys.getCharKey("CameraRotateDown")) {
else if(isKeyPressed(configKeys.getSDLKey("CameraRotateDown"),key) == true) {
gameCamera.setMoveY(-1); gameCamera.setMoveY(-1);
} }
} }
@@ -1668,7 +1691,7 @@ void Game::keyDown(char key) {
} }
} }
void Game::keyUp(char key){ void Game::keyUp(SDL_KeyboardEvent key) {
try { try {
if(gameStarted == false) { if(gameStarted == false) {
return; return;
@@ -1681,34 +1704,43 @@ void Game::keyUp(char key){
else { else {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key == configKeys.getCharKey("ShowFullConsole")) { //if(key == configKeys.getCharKey("ShowFullConsole")) {
if(isKeyPressed(configKeys.getSDLKey("ShowFullConsole"),key) == true) {
showFullConsole= false; showFullConsole= false;
} }
else if(key == configKeys.getCharKey("CameraRotateLeft") || //else if(key == configKeys.getCharKey("CameraRotateLeft") ||
key == configKeys.getCharKey("CameraRotateRight")) { // key == configKeys.getCharKey("CameraRotateRight")) {
else if(isKeyPressed(configKeys.getSDLKey("CameraRotateLeft"),key) == true ||
isKeyPressed(configKeys.getSDLKey("CameraRotateRight"),key) == true) {
gameCamera.setRotate(0); gameCamera.setRotate(0);
} }
else if(key == configKeys.getCharKey("CameraRotateDown") || //else if(key == configKeys.getCharKey("CameraRotateDown") ||
key == configKeys.getCharKey("CameraRotateUp")) { // key == configKeys.getCharKey("CameraRotateUp")) {
else if(isKeyPressed(configKeys.getSDLKey("CameraRotateDown"),key) == true ||
isKeyPressed(configKeys.getSDLKey("CameraRotateUp"),key) == true) {
gameCamera.setMoveY(0); gameCamera.setMoveY(0);
} }
else if(key == configKeys.getCharKey("CameraModeUp")){ //else if(key == configKeys.getCharKey("CameraModeUp")){
else if(isKeyPressed(configKeys.getSDLKey("CameraModeUp"),key) == true) {
gameCamera.setMoveZ(0); gameCamera.setMoveZ(0);
camUpButtonDown= false; camUpButtonDown= false;
calcCameraMoveZ(); calcCameraMoveZ();
} }
else if(key == configKeys.getCharKey("CameraModeDown")){ //else if(key == configKeys.getCharKey("CameraModeDown")){
else if(isKeyPressed(configKeys.getSDLKey("CameraModeDown"),key) == true) {
gameCamera.setMoveZ(0); gameCamera.setMoveZ(0);
camDownButtonDown= false; camDownButtonDown= false;
calcCameraMoveZ(); calcCameraMoveZ();
} }
//else if(key == configKeys.getCharKey("CameraModeLeft")){
else if(key == configKeys.getCharKey("CameraModeLeft")){ else if(isKeyPressed(configKeys.getSDLKey("CameraModeLeft"),key) == true) {
gameCamera.setMoveX(0); gameCamera.setMoveX(0);
camLeftButtonDown= false; camLeftButtonDown= false;
calcCameraMoveX(); calcCameraMoveX();
} }
else if(key == configKeys.getCharKey("CameraModeRight")){ //else if(key == configKeys.getCharKey("CameraModeRight")){
else if(isKeyPressed(configKeys.getSDLKey("CameraModeRight"),key) == true) {
gameCamera.setMoveX(0); gameCamera.setMoveX(0);
camRightButtonDown= false; camRightButtonDown= false;
calcCameraMoveX(); calcCameraMoveX();
@@ -1755,7 +1787,7 @@ void Game::calcCameraMoveZ(){
} }
void Game::keyPress(char c){ void Game::keyPress(SDL_KeyboardEvent c) {
if(gameStarted == false) { if(gameStarted == false) {
return; return;
} }

View File

@@ -157,9 +157,9 @@ public:
virtual void tick(); virtual void tick();
//event managing //event managing
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
virtual void keyUp(char key); virtual void keyUp(SDL_KeyboardEvent key);
virtual void keyPress(char c); virtual void keyPress(SDL_KeyboardEvent c);
virtual void mouseDownLeft(int x, int y); virtual void mouseDownLeft(int x, int y);
virtual void mouseDownRight(int x, int y); virtual void mouseDownRight(int x, int y);
virtual void mouseUpCenter(int x, int y); virtual void mouseUpCenter(int x, int y);

View File

@@ -345,6 +345,7 @@ const string Config::getString(const string &key,const char *defaultValueIfNotFo
return properties.first.getString(key,defaultValueIfNotFound); return properties.first.getString(key,defaultValueIfNotFound);
} }
/*
SDLKey Config::translateSpecialStringToSDLKey(char c) const { SDLKey Config::translateSpecialStringToSDLKey(char c) const {
SDLKey result = SDLK_UNKNOWN; SDLKey result = SDLK_UNKNOWN;
if(c < 0) { if(c < 0) {
@@ -645,18 +646,138 @@ char Config::translateStringToCharKey(const string &value) const {
result = tolower(result); result = tolower(result);
return result; return result;
} }
*/
char Config::getCharKey(const char *key) const { SDLKey Config::translateStringToSDLKey(const string &value) const {
SDLKey result = SDLK_UNKNOWN;
if(IsNumeric(value.c_str()) == true) {
result = (SDLKey)strToInt(value);
}
else if(value.substr(0,2) == "vk") {
if(value == "vkLeft") {
result = SDLK_LEFT;
}
else if(value == "vkRight") {
result = SDLK_RIGHT;
}
else if(value == "vkUp") {
result = SDLK_UP;
}
else if(value == "vkDown") {
result = SDLK_DOWN;
}
else if(value == "vkAdd") {
result = SDLK_PLUS;
}
else if(value == "vkSubtract") {
result = SDLK_MINUS;
}
else if(value == "vkEscape") {
result = SDLK_ESCAPE;
}
else if(value == "vkF1") {
result = SDLK_F1;
}
else if(value == "vkF2") {
result = SDLK_F2;
}
else if(value == "vkF3") {
result = SDLK_F3;
}
else if(value == "vkF4") {
result = SDLK_F4;
}
else if(value == "vkF5") {
result = SDLK_F5;
}
else if(value == "vkF6") {
result = SDLK_F6;
}
else if(value == "vkF7") {
result = SDLK_F7;
}
else if(value == "vkF8") {
result = SDLK_F8;
}
else if(value == "vkF9") {
result = SDLK_F9;
}
else if(value == "vkF10") {
result = SDLK_F10;
}
else if(value == "vkF11") {
result = SDLK_F11;
}
else if(value == "vkF12") {
result = SDLK_F12;
}
else if(value == "vkPrint") {
result = SDLK_PRINT;
}
else if(value == "vkPause") {
result = SDLK_PAUSE;
}
else {
string sError = "Unsupported key translation [" + value + "]";
throw runtime_error(sError.c_str());
}
}
else if(value.length() >= 1) {
if(value.length() == 3 && value[0] == '\'' && value[2] == '\'') {
result = (SDLKey)value[1];
}
else {
bool foundKey = false;
if(value.length() > 1) {
for(int i = SDLK_UNKNOWN; i < SDLK_LAST; ++i) {
SDLKey key = static_cast<SDLKey>(i);
string keyName = SDL_GetKeyName(key);
if(value == keyName) {
result = key;
foundKey = true;
break;
}
}
}
if(foundKey == false) {
result = (SDLKey)value[0];
}
}
}
else {
string sError = "Unsupported key translation" + value;
throw runtime_error(sError.c_str());
}
// Because SDL is based on lower Ascii
//result = tolower(result);
return result;
}
SDLKey Config::getSDLKey(const char *key) const {
if(fileLoaded.second == true && if(fileLoaded.second == true &&
properties.second.getString(key, defaultNotFoundValue.c_str()) != defaultNotFoundValue) { properties.second.getString(key, defaultNotFoundValue.c_str()) != defaultNotFoundValue) {
string value = properties.second.getString(key); string value = properties.second.getString(key);
return translateStringToCharKey(value); return translateStringToSDLKey(value);
} }
string value = properties.first.getString(key); string value = properties.first.getString(key);
return translateStringToCharKey(value); return translateStringToSDLKey(value);
} }
//char Config::getCharKey(const char *key) const {
// if(fileLoaded.second == true &&
// properties.second.getString(key, defaultNotFoundValue.c_str()) != defaultNotFoundValue) {
//
// string value = properties.second.getString(key);
// return translateStringToCharKey(value);
// }
// string value = properties.first.getString(key);
// return translateStringToCharKey(value);
//}
void Config::setInt(const string &key, int value){ void Config::setInt(const string &key, int value){
if(fileLoaded.second == true) { if(fileLoaded.second == true) {
properties.second.setInt(key, value); properties.second.setInt(key, value);

View File

@@ -75,7 +75,8 @@ public:
bool getBool(const char *key,const char *defaultValueIfNotFound=NULL) const; bool getBool(const char *key,const char *defaultValueIfNotFound=NULL) const;
float getFloat(const char *key,const char *defaultValueIfNotFound=NULL) const; float getFloat(const char *key,const char *defaultValueIfNotFound=NULL) const;
const string getString(const char *key,const char *defaultValueIfNotFound=NULL) const; const string getString(const char *key,const char *defaultValueIfNotFound=NULL) const;
char getCharKey(const char *key) const; //char getCharKey(const char *key) const;
SDLKey getSDLKey(const char *key) const;
void setInt(const string &key, int value); void setInt(const string &key, int value);
void setBool(const string &key, bool value); void setBool(const string &key, bool value);
@@ -91,8 +92,10 @@ public:
string getFileName(bool userFilename) const; string getFileName(bool userFilename) const;
char translateStringToCharKey(const string &value) const; //char translateStringToCharKey(const string &value) const;
SDLKey translateSpecialStringToSDLKey(char c) const; //SDLKey translateSpecialStringToSDLKey(char c) const;
SDLKey translateStringToSDLKey(const string &value) const;
string toString(); string toString();
}; };

View File

@@ -327,25 +327,30 @@ void Gui::groupKey(int groupIndex) {
} }
} }
void Gui::hotKey(char key) { void Gui::hotKey(SDL_KeyboardEvent key) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] key = [%c][%d]\n",__FILE__,__FUNCTION__,key,key); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] key = [%c][%d]\n",__FILE__,__FUNCTION__,key,key);
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key == configKeys.getCharKey("HotKeyCenterCameraOnSelection")) { //if(key == configKeys.getCharKey("HotKeyCenterCameraOnSelection")) {
if(isKeyPressed(configKeys.getSDLKey("HotKeyCenterCameraOnSelection"),key) == true) {
centerCameraOnSelection(); centerCameraOnSelection();
} }
else if(key == configKeys.getCharKey("HotKeySelectIdleHarvesterUnit")) { //else if(key == configKeys.getCharKey("HotKeySelectIdleHarvesterUnit")) {
else if(isKeyPressed(configKeys.getSDLKey("HotKeySelectIdleHarvesterUnit"),key) == true) {
selectInterestingUnit(iutIdleHarvester); selectInterestingUnit(iutIdleHarvester);
} }
else if(key == configKeys.getCharKey("HotKeySelectBuiltBuilding")) { //else if(key == configKeys.getCharKey("HotKeySelectBuiltBuilding")) {
else if(isKeyPressed(configKeys.getSDLKey("HotKeySelectBuiltBuilding"),key) == true) {
selectInterestingUnit(iutBuiltBuilding); selectInterestingUnit(iutBuiltBuilding);
} }
else if(key == configKeys.getCharKey("HotKeyDumpWorldToLog")) { //else if(key == configKeys.getCharKey("HotKeyDumpWorldToLog")) {
else if(isKeyPressed(configKeys.getSDLKey("HotKeyDumpWorldToLog"),key) == true) {
std::string worldLog = world->DumpWorldToLog(); std::string worldLog = world->DumpWorldToLog();
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] worldLog dumped to [%s]\n",__FILE__,__FUNCTION__,__LINE__,worldLog.c_str()); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] worldLog dumped to [%s]\n",__FILE__,__FUNCTION__,__LINE__,worldLog.c_str());
} }
else if(key == configKeys.getCharKey("HotKeyRotateUnitDuringPlacement")){ //else if(key == configKeys.getCharKey("HotKeyRotateUnitDuringPlacement")){
else if(isKeyPressed(configKeys.getSDLKey("HotKeyRotateUnitDuringPlacement"),key) == true) {
// Here the user triggers a unit rotation while placing a unit // Here the user triggers a unit rotation while placing a unit
if(isPlacingBuilding()) { if(isPlacingBuilding()) {
if(getBuilding()->getRotationAllowed()){ if(getBuilding()->getRotationAllowed()){
@@ -353,16 +358,20 @@ void Gui::hotKey(char key) {
} }
} }
} }
else if(key == configKeys.getCharKey("HotKeySelectDamagedUnit")) { //else if(key == configKeys.getCharKey("HotKeySelectDamagedUnit")) {
else if(isKeyPressed(configKeys.getSDLKey("HotKeySelectDamagedUnit"),key) == true) {
selectInterestingUnit(iutDamaged); selectInterestingUnit(iutDamaged);
} }
else if(key == configKeys.getCharKey("HotKeySelectStoreUnit")) { //else if(key == configKeys.getCharKey("HotKeySelectStoreUnit")) {
else if(isKeyPressed(configKeys.getSDLKey("HotKeySelectStoreUnit"),key) == true) {
selectInterestingUnit(iutStore); selectInterestingUnit(iutStore);
} }
else if(key == configKeys.getCharKey("HotKeySelectedUnitsAttack")) { //else if(key == configKeys.getCharKey("HotKeySelectedUnitsAttack")) {
else if(isKeyPressed(configKeys.getSDLKey("HotKeySelectedUnitsAttack"),key) == true) {
clickCommonCommand(ccAttack); clickCommonCommand(ccAttack);
} }
else if(key == configKeys.getCharKey("HotKeySelectedUnitsStop")) { //else if(key == configKeys.getCharKey("HotKeySelectedUnitsStop")) {
else if(isKeyPressed(configKeys.getSDLKey("HotKeySelectedUnitsStop"),key) == true) {
clickCommonCommand(ccStop); clickCommonCommand(ccStop);
} }
} }

View File

@@ -191,7 +191,7 @@ public:
void mouseMoveGraphics(int x, int y); void mouseMoveGraphics(int x, int y);
void mouseDoubleClickLeftGraphics(int x, int y); void mouseDoubleClickLeftGraphics(int x, int y);
void groupKey(int groupIndex); void groupKey(int groupIndex);
void hotKey(char key); void hotKey(SDL_KeyboardEvent key);
//misc //misc
void switchToNextDisplayColor(); void switchToNextDisplayColor();

View File

@@ -774,8 +774,8 @@ void MainWindow::eventMouseWheel(int x, int y, int zDelta) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
} }
void MainWindow::eventKeyDown(char key){ void MainWindow::eventKeyDown(SDL_KeyboardEvent key) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym);
SDL_keysym keystate = Window::getKeystate(); SDL_keysym keystate = Window::getKeystate();
@@ -795,7 +795,8 @@ void MainWindow::eventKeyDown(char key){
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
if(keystate.mod & (KMOD_LALT | KMOD_RALT)) { if(keystate.mod & (KMOD_LALT | KMOD_RALT)) {
if(key == vkReturn) { //if(key == vkReturn) {
if(isKeyPressed(SDLK_RETURN,key) == true) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] ALT-ENTER pressed\n",__FILE__,__FUNCTION__,__LINE__); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] ALT-ENTER pressed\n",__FILE__,__FUNCTION__,__LINE__);
// This stupidity only required in win32. // This stupidity only required in win32.
@@ -815,7 +816,8 @@ void MainWindow::eventKeyDown(char key){
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); 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));
if(key == configKeys.getCharKey("HotKeyShowDebug")) { //if(key == configKeys.getCharKey("HotKeyShowDebug")) {
if(isKeyPressed(configKeys.getSDLKey("HotKeyShowDebug"),key) == true) {
Renderer &renderer= Renderer::getInstance(); Renderer &renderer= Renderer::getInstance();
//if(keystate.mod & (KMOD_LCTRL | KMOD_RCTRL)) { //if(keystate.mod & (KMOD_LCTRL | KMOD_RCTRL)) {
@@ -827,11 +829,13 @@ void MainWindow::eventKeyDown(char key){
renderer.setShowDebugUI(!showDebugUI); renderer.setShowDebugUI(!showDebugUI);
} }
} }
else if(key == configKeys.getCharKey("ReloadINI")) { //else if(key == configKeys.getCharKey("ReloadINI")) {
else if(isKeyPressed(configKeys.getSDLKey("ReloadINI"),key) == true) {
Config &config = Config::getInstance(); Config &config = Config::getInstance();
config.reload(); config.reload();
} }
else if(key == configKeys.getCharKey("Screenshot")) { //else if(key == configKeys.getCharKey("Screenshot")) {
else if(isKeyPressed(configKeys.getSDLKey("Screenshot"),key) == true) {
string userData = Config::getInstance().getString("UserData_Root",""); string userData = Config::getInstance().getString("UserData_Root","");
if(userData != "") { if(userData != "") {
endPathWithSlash(userData); endPathWithSlash(userData);
@@ -882,7 +886,7 @@ void MainWindow::eventKeyDown(char key){
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
} }
void MainWindow::eventKeyUp(char key){ void MainWindow::eventKeyUp(SDL_KeyboardEvent key) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key);
if(program == NULL) { if(program == NULL) {
throw runtime_error("In [MainWindow::eventKeyUp] ERROR, program == NULL!"); throw runtime_error("In [MainWindow::eventKeyUp] ERROR, program == NULL!");
@@ -892,7 +896,7 @@ void MainWindow::eventKeyUp(char key){
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key);
} }
void MainWindow::eventKeyPress(char c){ void MainWindow::eventKeyPress(SDL_KeyboardEvent c) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] [%d]\n",__FILE__,__FUNCTION__,__LINE__,c); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] [%d]\n",__FILE__,__FUNCTION__,__LINE__,c);
if(program == NULL) { if(program == NULL) {
throw runtime_error("In [MainWindow::eventKeyPress] ERROR, program == NULL!"); throw runtime_error("In [MainWindow::eventKeyPress] ERROR, program == NULL!");
@@ -904,7 +908,8 @@ void MainWindow::eventKeyPress(char c){
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); 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));
if(c == configKeys.getCharKey("HotKeyToggleOSMouseEnabled")) { //if(c == configKeys.getCharKey("HotKeyToggleOSMouseEnabled")) {
if(isKeyPressed(configKeys.getSDLKey("HotKeyToggleOSMouseEnabled"),c) == true) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
bool showCursorState = false; bool showCursorState = false;
@@ -924,13 +929,13 @@ void MainWindow::eventKeyPress(char c){
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] [%d]\n",__FILE__,__FUNCTION__,__LINE__,c); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] [%d]\n",__FILE__,__FUNCTION__,__LINE__,c);
} }
void MainWindow::eventActivate(bool active){ void MainWindow::eventActivate(bool active) {
if(!active){ if(!active){
//minimize(); //minimize();
} }
} }
void MainWindow::eventResize(SizeState sizeState){ void MainWindow::eventResize(SizeState sizeState) {
if(program == NULL) { if(program == NULL) {
throw runtime_error("In [MainWindow::eventResize] ERROR, program == NULL!"); throw runtime_error("In [MainWindow::eventResize] ERROR, program == NULL!");
} }

View File

@@ -43,10 +43,10 @@ public:
virtual void eventMouseUp(int x, int y, MouseButton mouseButton); virtual void eventMouseUp(int x, int y, MouseButton mouseButton);
virtual void eventMouseDoubleClick(int x, int y, MouseButton mouseButton); virtual void eventMouseDoubleClick(int x, int y, MouseButton mouseButton);
virtual void eventMouseMove(int x, int y, const MouseState *mouseState); virtual void eventMouseMove(int x, int y, const MouseState *mouseState);
virtual void eventKeyDown(char key); virtual void eventKeyDown(SDL_KeyboardEvent key);
virtual void eventMouseWheel(int x, int y, int zDelta); virtual void eventMouseWheel(int x, int y, int zDelta);
virtual void eventKeyUp(char key); virtual void eventKeyUp(SDL_KeyboardEvent key);
virtual void eventKeyPress(char c); virtual void eventKeyPress(SDL_KeyboardEvent c);
virtual void eventActivate(bool active); virtual void eventActivate(bool active);
virtual void eventResize(SizeState sizeState); virtual void eventResize(SizeState sizeState);
virtual void eventClose(); virtual void eventClose();

View File

@@ -99,17 +99,15 @@ void Program::ShowMessageProgramState::mouseDownLeft(int x, int y) {
} }
} }
void Program::ShowMessageProgramState::keyPress(char c){ void Program::ShowMessageProgramState::keyPress(SDL_KeyboardEvent c) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s %d] c = [%d]\n",__FILE__,__FUNCTION__,__LINE__,c); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s %d] c = [%d]\n",__FILE__,__FUNCTION__,__LINE__,c.keysym.sym);
// if user pressed return we exit // if user pressed return we exit
if(c == 13) { //if(c == 13) {
if(isKeyPressed(SDLK_RETURN,c) == true) {
program->exit(); program->exit();
userWantsExit = true; userWantsExit = true;
} }
else {
//msgBox.keyPress(c);
}
} }
void Program::ShowMessageProgramState::mouseMove(int x, int y, const MouseState &mouseState) { void Program::ShowMessageProgramState::mouseMove(int x, int y, const MouseState &mouseState) {
@@ -201,13 +199,14 @@ Program::~Program(){
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
} }
void Program::keyDown(char key){ void Program::keyDown(SDL_KeyboardEvent key) {
if(msgBox.getEnabled()) { if(msgBox.getEnabled()) {
SDL_keysym keystate = Window::getKeystate(); //SDL_keysym keystate = Window::getKeystate();
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
if(key == vkEscape || key == SDLK_ESCAPE ||
((key == vkReturn || key == SDLK_RETURN || key == SDLK_KP_ENTER) && !(keystate.mod & (KMOD_LALT | KMOD_RALT)))) { //if(key == vkEscape || key == SDLK_ESCAPE ||
// ((key == vkReturn || key == SDLK_RETURN || key == SDLK_KP_ENTER) && !(keystate.mod & (KMOD_LALT | KMOD_RALT)))) {
if(isKeyPressed(SDLK_ESCAPE,key) == true || ((isKeyPressed(SDLK_RETURN,key) == true) && !(key.keysym.mod & (KMOD_LALT | KMOD_RALT)))) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
//printf("---> keystate [%d]\n",keystate); //printf("---> keystate [%d]\n",keystate);
@@ -219,11 +218,11 @@ void Program::keyDown(char key){
programState->keyDown(key); programState->keyDown(key);
} }
void Program::keyUp(char key){ void Program::keyUp(SDL_KeyboardEvent key) {
programState->keyUp(key); programState->keyUp(key);
} }
void Program::keyPress(char c){ void Program::keyPress(SDL_KeyboardEvent c) {
programState->keyPress(c); programState->keyPress(c);
} }

View File

@@ -43,7 +43,7 @@ class MainWindow;
/// Intro, MainMenu, Game, BattleEnd (State Design pattern) /// Intro, MainMenu, Game, BattleEnd (State Design pattern)
// ===================================================== // =====================================================
class ProgramState{ class ProgramState {
protected: protected:
Program *program; Program *program;
@@ -85,9 +85,9 @@ public:
virtual void mouseDoubleClickCenter(int x, int y){} virtual void mouseDoubleClickCenter(int x, int y){}
virtual void eventMouseWheel(int x, int y, int zDelta){} virtual void eventMouseWheel(int x, int y, int zDelta){}
virtual void mouseMove(int x, int y, const MouseState *mouseState); virtual void mouseMove(int x, int y, const MouseState *mouseState);
virtual void keyDown(char key){}; virtual void keyDown(SDL_KeyboardEvent key){};
virtual void keyUp(char key){}; virtual void keyUp(SDL_KeyboardEvent key){};
virtual void keyPress(char c){}; virtual void keyPress(SDL_KeyboardEvent c){};
virtual void setStartXY(int X,int Y) { startX=X; startY=Y; } virtual void setStartXY(int X,int Y) { startX=X; startY=Y; }
virtual void restoreToStartXY() { SDL_WarpMouse(startX, startY); } virtual void restoreToStartXY() { SDL_WarpMouse(startX, startY); }
virtual bool isInSpecialKeyCaptureEvent() { return false; } virtual bool isInSpecialKeyCaptureEvent() { return false; }
@@ -121,7 +121,7 @@ private:
virtual void render(); virtual void render();
virtual void mouseDownLeft(int x, int y); virtual void mouseDownLeft(int x, int y);
virtual void mouseMove(int x, int y, const MouseState &mouseState); virtual void mouseMove(int x, int y, const MouseState &mouseState);
virtual void keyPress(char c); virtual void keyPress(SDL_KeyboardEvent c);
virtual void update(); virtual void update();
virtual bool wantExit() { return userWantsExit; } virtual bool wantExit() { return userWantsExit; }
}; };
@@ -153,9 +153,9 @@ public:
void initScenario(WindowGl *window, string autoloadScenarioName); void initScenario(WindowGl *window, string autoloadScenarioName);
//main //main
void keyDown(char key); void keyDown(SDL_KeyboardEvent key);
void keyUp(char key); void keyUp(SDL_KeyboardEvent key);
void keyPress(char c); void keyPress(SDL_KeyboardEvent c);
void loop(); void loop();
void loopWorker(); void loopWorker();

View File

@@ -154,15 +154,15 @@ void MainMenu::mouseDownRight(int x, int y){
state->mouseClick(x, y, mbRight); state->mouseClick(x, y, mbRight);
} }
void MainMenu::keyDown(char key){ void MainMenu::keyDown(SDL_KeyboardEvent key) {
state->keyDown(key); state->keyDown(key);
} }
void MainMenu::keyUp(char key){ void MainMenu::keyUp(SDL_KeyboardEvent key) {
state->keyUp(key); state->keyUp(key);
} }
void MainMenu::keyPress(char c){ void MainMenu::keyPress(SDL_KeyboardEvent c) {
state->keyPress(c); state->keyPress(c);
} }

View File

@@ -69,7 +69,7 @@ class MenuState;
/// Main menu ProgramState /// Main menu ProgramState
// ===================================================== // =====================================================
class MainMenu: public ProgramState{ class MainMenu: public ProgramState {
private: private:
static MenuState *oldstate; static MenuState *oldstate;
@@ -101,9 +101,9 @@ public:
virtual void mouseMove(int x, int y, const MouseState *mouseState); virtual void mouseMove(int x, int y, const MouseState *mouseState);
virtual void mouseDownLeft(int x, int y); virtual void mouseDownLeft(int x, int y);
virtual void mouseDownRight(int x, int y); virtual void mouseDownRight(int x, int y);
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
virtual void keyUp(char key); virtual void keyUp(SDL_KeyboardEvent key);
virtual void keyPress(char key); virtual void keyPress(SDL_KeyboardEvent key);
void setState(MenuState *state); void setState(MenuState *state);
virtual bool isInSpecialKeyCaptureEvent(); virtual bool isInSpecialKeyCaptureEvent();
@@ -137,9 +137,9 @@ public:
virtual void mouseMove(int x, int y, const MouseState *mouseState)=0; virtual void mouseMove(int x, int y, const MouseState *mouseState)=0;
virtual void render()=0; virtual void render()=0;
virtual void update(){}; virtual void update(){};
virtual void keyDown(char key){}; virtual void keyDown(SDL_KeyboardEvent key){};
virtual void keyPress(char c){}; virtual void keyPress(SDL_KeyboardEvent c){};
virtual void keyUp(char key){}; virtual void keyUp(SDL_KeyboardEvent key){};
const Camera *getCamera() const {return &camera;} const Camera *getCamera() const {return &camera;}

View File

@@ -161,9 +161,10 @@ void MenuStateAbout::render(){
} }
void MenuStateAbout::keyDown(char key){ void MenuStateAbout::keyDown(SDL_KeyboardEvent key){
Config &configKeys= Config::getInstance(std::pair<ConfigType, ConfigType>(cfgMainKeys, cfgUserKeys)); Config &configKeys= Config::getInstance(std::pair<ConfigType, ConfigType>(cfgMainKeys, cfgUserKeys));
if(key == configKeys.getCharKey("SaveGUILayout")){ //if(key == configKeys.getCharKey("SaveGUILayout")){
if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),key) == true) {
bool saved= GraphicComponent::saveAllCustomProperties(containerName); bool saved= GraphicComponent::saveAllCustomProperties(containerName);
//Lang &lang= Lang::getInstance(); //Lang &lang= Lang::getInstance();
//console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); //console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");

View File

@@ -43,7 +43,7 @@ public:
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);
void render(); void render();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
}; };
}}//end namespace }}//end namespace

View File

@@ -2089,10 +2089,12 @@ bool MenuStateConnectedGame::hasNetworkGameSettings()
return hasNetworkSlot; return hasNetworkSlot;
} }
void MenuStateConnectedGame::keyDown(char key) { void MenuStateConnectedGame::keyDown(SDL_KeyboardEvent key) {
if(activeInputLabel != NULL) { if(activeInputLabel != NULL) {
string text = activeInputLabel->getText(); string text = activeInputLabel->getText();
if(key == vkBack && text.length() > 0) {
//if(key == vkBack && text.length() > 0) {
if(isKeyPressed(SDLK_BACKSPACE,key) == true && text.length() > 0) {
size_t found = text.find_last_of("_"); size_t found = text.find_last_of("_");
if (found == string::npos) { if (found == string::npos) {
text.erase(text.end() - 1); text.erase(text.end() - 1);
@@ -2116,10 +2118,12 @@ void MenuStateConnectedGame::keyDown(char key) {
if(chatManager.getEditEnabled() == false) { if(chatManager.getEditEnabled() == false) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key == configKeys.getCharKey("ShowFullConsole")) { //if(key == configKeys.getCharKey("ShowFullConsole")) {
if(isKeyPressed(configKeys.getSDLKey("ShowFullConsole"),key) == true) {
showFullConsole= true; showFullConsole= true;
} }
else if(key == configKeys.getCharKey("SaveGUILayout")) { //else if(key == configKeys.getCharKey("SaveGUILayout")) {
else if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),key) == true) {
bool saved = GraphicComponent::saveAllCustomProperties(containerName); bool saved = GraphicComponent::saveAllCustomProperties(containerName);
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");
@@ -2128,23 +2132,24 @@ void MenuStateConnectedGame::keyDown(char key) {
} }
} }
void MenuStateConnectedGame::keyPress(char c) { void MenuStateConnectedGame::keyPress(SDL_KeyboardEvent c) {
if(activeInputLabel != NULL) { if(activeInputLabel != NULL) {
int maxTextSize= 16; int maxTextSize= 16;
for(int i = 0; i < GameConstants::maxPlayers; ++i) { for(int i = 0; i < GameConstants::maxPlayers; ++i) {
if(&labelPlayerNames[i] == activeInputLabel) { if(&labelPlayerNames[i] == activeInputLabel) {
if((c>='0' && c<='9') || (c>='a' && c<='z') || (c>='A' && c<='Z') || SDLKey key = extractKeyPressed(c);
(c=='-') || (c=='(') || (c==')')) { //if((c>='0' && c<='9') || (c>='a' && c<='z') || (c>='A' && c<='Z') ||
// (c=='-') || (c=='(') || (c==')')) {
if(activeInputLabel->getText().size() < maxTextSize) { if(activeInputLabel->getText().size() < maxTextSize) {
string text= activeInputLabel->getText(); string text= activeInputLabel->getText();
text.insert(text.end() -1, c); text.insert(text.end() -1, key);
activeInputLabel->setText(text); activeInputLabel->setText(text);
switchSetupRequestFlagType |= ssrft_NetworkPlayerName; switchSetupRequestFlagType |= ssrft_NetworkPlayerName;
needToSetChangedGameSettings = true; needToSetChangedGameSettings = true;
lastSetChangedGameSettings = time(NULL); lastSetChangedGameSettings = time(NULL);
} }
} //}
} }
} }
} }
@@ -2153,7 +2158,7 @@ void MenuStateConnectedGame::keyPress(char c) {
} }
} }
void MenuStateConnectedGame::keyUp(char key) { void MenuStateConnectedGame::keyUp(SDL_KeyboardEvent key) {
if(activeInputLabel==NULL) { if(activeInputLabel==NULL) {
chatManager.keyUp(key); chatManager.keyUp(key);
@@ -2163,7 +2168,8 @@ void MenuStateConnectedGame::keyUp(char key) {
//send key to the chat manager //send key to the chat manager
chatManager.keyUp(key); chatManager.keyUp(key);
} }
else if(key== configKeys.getCharKey("ShowFullConsole")) { //else if(key== configKeys.getCharKey("ShowFullConsole")) {
else if(isKeyPressed(configKeys.getSDLKey("ShowFullConsole"),key) == true) {
showFullConsole= false; showFullConsole= false;
} }
} }

View File

@@ -179,9 +179,9 @@ public:
void render(); void render();
void update(); void update();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
virtual void keyPress(char c); virtual void keyPress(SDL_KeyboardEvent c);
virtual void keyUp(char key); virtual void keyUp(SDL_KeyboardEvent key);
virtual bool isInSpecialKeyCaptureEvent(); virtual bool isInSpecialKeyCaptureEvent();

View File

@@ -557,7 +557,7 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b
// write hint to console: // write hint to console:
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
console.addLine(lang.get("To switch off music press")+" - \""+configKeys.getCharKey("ToggleMusic")+"\""); console.addLine(lang.get("To switch off music press") + " - \"" + configKeys.getString("ToggleMusic") + "\"");
chatManager.init(&console, -1,true); chatManager.init(&console, -1,true);
@@ -2878,10 +2878,11 @@ void MenuStateCustomGame::updateNetworkSlots() {
} }
} }
void MenuStateCustomGame::keyDown(char key) { void MenuStateCustomGame::keyDown(SDL_KeyboardEvent key) {
if(activeInputLabel != NULL) { if(activeInputLabel != NULL) {
string text = activeInputLabel->getText(); string text = activeInputLabel->getText();
if(key == vkBack && text.length() > 0) { //if(key == vkBack && text.length() > 0) {
if(isKeyPressed(SDLK_BACKSPACE,key) == true && text.length() > 0) {
size_t found = text.find_last_of("_"); size_t found = text.find_last_of("_");
if (found == string::npos) { if (found == string::npos) {
text.erase(text.end() - 1); text.erase(text.end() - 1);
@@ -2909,11 +2910,13 @@ void MenuStateCustomGame::keyDown(char key) {
if(chatManager.getEditEnabled() == false) { if(chatManager.getEditEnabled() == false) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key == configKeys.getCharKey("ShowFullConsole")) { //if(key == configKeys.getCharKey("ShowFullConsole")) {
if(isKeyPressed(configKeys.getSDLKey("ShowFullConsole"),key) == true) {
showFullConsole= true; showFullConsole= true;
} }
//Toggle music //Toggle music
else if(key == configKeys.getCharKey("ToggleMusic")) { //else if(key == configKeys.getCharKey("ToggleMusic")) {
else if(isKeyPressed(configKeys.getSDLKey("ToggleMusic"),key) == true) {
Config &config = Config::getInstance(); Config &config = Config::getInstance();
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
@@ -2930,7 +2933,8 @@ void MenuStateCustomGame::keyDown(char key) {
console.addLine(lang.get("GameMusic")); console.addLine(lang.get("GameMusic"));
} }
} }
else if(key == configKeys.getCharKey("SaveGUILayout")) { //else if(key == configKeys.getCharKey("SaveGUILayout")) {
else if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),key) == true) {
bool saved = GraphicComponent::saveAllCustomProperties(containerName); bool saved = GraphicComponent::saveAllCustomProperties(containerName);
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");
@@ -2939,16 +2943,17 @@ void MenuStateCustomGame::keyDown(char key) {
} }
} }
void MenuStateCustomGame::keyPress(char c) { void MenuStateCustomGame::keyPress(SDL_KeyboardEvent c) {
if(activeInputLabel != NULL) { if(activeInputLabel != NULL) {
int maxTextSize= 16; int maxTextSize= 16;
for(int i = 0; i < GameConstants::maxPlayers; ++i) { for(int i = 0; i < GameConstants::maxPlayers; ++i) {
if(&labelPlayerNames[i] == activeInputLabel) { if(&labelPlayerNames[i] == activeInputLabel) {
if((c>='0' && c<='9') || (c>='a' && c<='z') || (c>='A' && c<='Z') || SDLKey key = extractKeyPressed(c);
(c=='-') || (c=='(') || (c==')')) { //if((c>='0' && c<='9') || (c>='a' && c<='z') || (c>='A' && c<='Z') ||
// (c=='-') || (c=='(') || (c==')')) {
if(activeInputLabel->getText().size() < maxTextSize) { if(activeInputLabel->getText().size() < maxTextSize) {
string text= activeInputLabel->getText(); string text= activeInputLabel->getText();
text.insert(text.end()-1, c); text.insert(text.end()-1, key);
activeInputLabel->setText(text); activeInputLabel->setText(text);
MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutex((publishToMasterserverThread != NULL ? publishToMasterserverThread->getMutexThreadObjectAccessor() : NULL),string(__FILE__) + "_" + intToStr(__LINE__));
@@ -2957,7 +2962,7 @@ void MenuStateCustomGame::keyPress(char c) {
lastSetChangedGameSettings = time(NULL); lastSetChangedGameSettings = time(NULL);
} }
} }
} //}
} }
} }
} }
@@ -2968,7 +2973,7 @@ void MenuStateCustomGame::keyPress(char c) {
} }
} }
void MenuStateCustomGame::keyUp(char key) { void MenuStateCustomGame::keyUp(SDL_KeyboardEvent key) {
if(activeInputLabel==NULL) { if(activeInputLabel==NULL) {
if(hasNetworkGameSettings() == true) { if(hasNetworkGameSettings() == true) {
chatManager.keyUp(key); chatManager.keyUp(key);
@@ -2981,7 +2986,8 @@ void MenuStateCustomGame::keyUp(char key) {
chatManager.keyUp(key); chatManager.keyUp(key);
} }
} }
else if(key == configKeys.getCharKey("ShowFullConsole")) { //else if(key == configKeys.getCharKey("ShowFullConsole")) {
else if(isKeyPressed(configKeys.getSDLKey("ShowFullConsole"),key) == true) {
showFullConsole= false; showFullConsole= false;
} }
} }

View File

@@ -167,9 +167,9 @@ public:
void render(); void render();
void update(); void update();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
virtual void keyPress(char c); virtual void keyPress(SDL_KeyboardEvent c);
virtual void keyUp(char key); virtual void keyUp(SDL_KeyboardEvent key);
virtual void simpleTask(BaseThread *callingThread); virtual void simpleTask(BaseThread *callingThread);

View File

@@ -75,9 +75,10 @@ void MenuStateGraphicInfo::render(){
renderer.renderConsole(&console,false,true); renderer.renderConsole(&console,false,true);
} }
void MenuStateGraphicInfo::keyDown(char key) { void MenuStateGraphicInfo::keyDown(SDL_KeyboardEvent key) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key == configKeys.getCharKey("SaveGUILayout")) { //if(key == configKeys.getCharKey("SaveGUILayout")) {
if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),key) == true) {
bool saved = GraphicComponent::saveAllCustomProperties(containerName); bool saved = GraphicComponent::saveAllCustomProperties(containerName);
//Lang &lang= Lang::getInstance(); //Lang &lang= Lang::getInstance();
//console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); //console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");

View File

@@ -35,7 +35,7 @@ public:
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);
void render(); void render();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
}; };
}}//end namespace }}//end namespace

View File

@@ -461,8 +461,8 @@ void MenuStateJoinGame::update()
if(clientInterface != NULL && clientInterface->getLaunchGame()) if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] clientInterface->getLaunchGame() - D\n",__FILE__,__FUNCTION__); if(clientInterface != NULL && clientInterface->getLaunchGame()) if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] clientInterface->getLaunchGame() - D\n",__FILE__,__FUNCTION__);
} }
void MenuStateJoinGame::keyDown(char key) { void MenuStateJoinGame::keyDown(SDL_KeyboardEvent key) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c][%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c][%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
ClientInterface* clientInterface= NetworkManager::getInstance().getClientInterface(); ClientInterface* clientInterface= NetworkManager::getInstance().getClientInterface();
if(clientInterface->isConnected() == false) { if(clientInterface->isConnected() == false) {
@@ -470,17 +470,19 @@ void MenuStateJoinGame::keyDown(char key) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key == vkBack) { //if(key == vkBack) {
if(isKeyPressed(SDLK_BACKSPACE,key) == true) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
string text= labelServerIp.getText(); string text= labelServerIp.getText();
if(text.size()>1){ if(text.size() > 1) {
text.erase(text.end()-2); text.erase(text.end()-2);
} }
labelServerIp.setText(text); labelServerIp.setText(text);
} }
else if(key == configKeys.getCharKey("SaveGUILayout")) { //else if(key == configKeys.getCharKey("SaveGUILayout")) {
else if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),key) == true) {
bool saved = GraphicComponent::saveAllCustomProperties(containerName); bool saved = GraphicComponent::saveAllCustomProperties(containerName);
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");
@@ -494,7 +496,8 @@ void MenuStateJoinGame::keyDown(char key) {
if(chatManager.getEditEnabled() == false) { if(chatManager.getEditEnabled() == false) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key == configKeys.getCharKey("SaveGUILayout")) { //if(key == configKeys.getCharKey("SaveGUILayout")) {
if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),key) == true) {
bool saved = GraphicComponent::saveAllCustomProperties(containerName); bool saved = GraphicComponent::saveAllCustomProperties(containerName);
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");
@@ -503,7 +506,7 @@ void MenuStateJoinGame::keyDown(char key) {
} }
} }
void MenuStateJoinGame::keyPress(char c) { void MenuStateJoinGame::keyPress(SDL_KeyboardEvent c) {
ClientInterface* clientInterface= NetworkManager::getInstance().getClientInterface(); ClientInterface* clientInterface= NetworkManager::getInstance().getClientInterface();
if(clientInterface->isConnected() == false) { if(clientInterface->isConnected() == false) {
@@ -511,15 +514,18 @@ void MenuStateJoinGame::keyPress(char c) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(c>='0' && c<='9') { SDLKey key = extractKeyPressed(c);
if(labelServerIp.getText().size()<maxTextSize) { //if(c>='0' && c<='9') {
if(key >= SDLK_0 && key <= SDLK_9) {
if(labelServerIp.getText().size() < maxTextSize) {
string text= labelServerIp.getText(); string text= labelServerIp.getText();
text.insert(text.end()-1, c); text.insert(text.end()-1, key);
labelServerIp.setText(text); labelServerIp.setText(text);
} }
} }
else if (c=='.') { //else if (c=='.') {
else if (key == SDLK_PERIOD) {
if(labelServerIp.getText().size() < maxTextSize) { if(labelServerIp.getText().size() < maxTextSize) {
string text= labelServerIp.getText(); string text= labelServerIp.getText();
text.insert(text.end()-1, '.'); text.insert(text.end()-1, '.');

View File

@@ -71,8 +71,8 @@ public:
void mouseMove(int x, int y, const MouseState *mouseState); void mouseMove(int x, int y, const MouseState *mouseState);
void render(); void render();
void update(); void update();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
virtual void keyPress(char c); virtual void keyPress(SDL_KeyboardEvent c);
virtual bool isInSpecialKeyCaptureEvent() { return chatManager.getEditEnabled(); } virtual bool isInSpecialKeyCaptureEvent() { return chatManager.getEditEnabled(); }

View File

@@ -36,7 +36,7 @@ MenuStateKeysetup::MenuStateKeysetup(Program *program, MainMenu *mainMenu):
containerName = "KeySetup"; containerName = "KeySetup";
hotkeyIndex = -1; hotkeyIndex = -1;
hotkeyChar = 0; hotkeyChar = SDLK_UNKNOWN;
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
int buttonRowPos=80; int buttonRowPos=80;
@@ -106,7 +106,8 @@ MenuStateKeysetup::MenuStateKeysetup(Program *program, MainMenu *mainMenu):
string keyName = mergedProperties[i].second; string keyName = mergedProperties[i].second;
if(keyName.length() > 0) { if(keyName.length() > 0) {
char c = configKeys.translateStringToCharKey(keyName); //char c = configKeys.translateStringToCharKey(keyName);
SDLKey c = configKeys.translateStringToSDLKey(keyName);
if(c > SDLK_UNKNOWN && c < SDLK_LAST) { if(c > SDLK_UNKNOWN && c < SDLK_LAST) {
SDLKey keysym = static_cast<SDLKey>(c); SDLKey keysym = static_cast<SDLKey>(c);
// SDL skips capital letters // SDL skips capital letters
@@ -246,7 +247,7 @@ void MenuStateKeysetup::mouseClick(int x, int y, MouseButton mouseButton){
<= keyScrollBar.getVisibleEnd(); ++i) { <= keyScrollBar.getVisibleEnd(); ++i) {
if (keyButtons[i]->mouseClick(x, y)) { if (keyButtons[i]->mouseClick(x, y)) {
hotkeyIndex = i; hotkeyIndex = i;
hotkeyChar = 0; hotkeyChar = SDLK_UNKNOWN;
break; break;
} }
} }
@@ -336,78 +337,80 @@ void MenuStateKeysetup::showMessageBox(const string &text, const string &header,
} }
void MenuStateKeysetup::keyDown(char key) { void MenuStateKeysetup::keyDown(SDL_KeyboardEvent key) {
hotkeyChar = key; hotkeyChar = extractKeyPressed(key);
printf("\nkeyDown [%d]\n",hotkeyChar);
string keyName = ""; string keyName = "";
if(hotkeyChar > SDLK_UNKNOWN && hotkeyChar < SDLK_LAST) { if(hotkeyChar > SDLK_UNKNOWN && hotkeyChar < SDLK_LAST) {
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keyName [%s] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),hotkeyChar,key); if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keyName [%s] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),hotkeyChar,key.keysym.sym);
keyName = SDL_GetKeyName(static_cast<SDLKey>(hotkeyChar)); keyName = SDL_GetKeyName(hotkeyChar);
} }
//key = hotkeyChar; //key = hotkeyChar;
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keyName [%s] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),hotkeyChar,key); if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keyName [%s] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),hotkeyChar,key.keysym.sym);
SDLKey keysym = SDLK_UNKNOWN; // SDLKey keysym = SDLK_UNKNOWN;
if(keyName == "unknown key" || keyName == "") { // if(keyName == "unknown key" || keyName == "") {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); // Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
keysym = configKeys.translateSpecialStringToSDLKey(hotkeyChar); // keysym = configKeys.translateSpecialStringToSDLKey(hotkeyChar);
//
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keysym [%d]\n",__FILE__,__FUNCTION__,__LINE__,keysym); // if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keysym [%d]\n",__FILE__,__FUNCTION__,__LINE__,keysym);
//
// SDL skips capital letters // // SDL skips capital letters
if(keysym >= 65 && keysym <= 90) { // if(keysym >= 65 && keysym <= 90) {
keysym = (SDLKey)((int)keysym + 32); // keysym = (SDLKey)((int)keysym + 32);
} // }
//if(keysym < 255) { // //if(keysym < 255) {
// key = keysym; // // key = keysym;
//} // //}
keyName = SDL_GetKeyName(keysym); // keyName = SDL_GetKeyName(keysym);
} // }
char szBuf[1024] = ""; char szBuf[1024] = "";
sprintf(szBuf,"%s [%d][%d]",keyName.c_str(),key,keysym); //sprintf(szBuf,"%s [%d][%d]",keyName.c_str(),key.keysym.sym,keysym);
sprintf(szBuf,"%s [%d][%d]",keyName.c_str(),key.keysym.sym,hotkeyChar);
labelTestValue.setText(szBuf); labelTestValue.setText(szBuf);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line: %d] hotkeyChar [%d]\n",__FILE__,__FUNCTION__,__LINE__,hotkeyChar); if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line: %d] hotkeyChar [%d]\n",__FILE__,__FUNCTION__,__LINE__,hotkeyChar);
} }
void MenuStateKeysetup::keyPress(char c) { void MenuStateKeysetup::keyPress(SDL_KeyboardEvent c) {
} }
void MenuStateKeysetup::keyUp(char key) { void MenuStateKeysetup::keyUp(SDL_KeyboardEvent key) {
//Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); //Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(hotkeyIndex >= 0) { if(hotkeyIndex >= 0) {
if(hotkeyChar != 0) { if(hotkeyChar != 0) {
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,hotkeyChar,key); if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,hotkeyChar,key.keysym.sym);
string keyName = ""; string keyName = "";
if(hotkeyChar > SDLK_UNKNOWN && hotkeyChar < SDLK_LAST) { if(hotkeyChar > SDLK_UNKNOWN && hotkeyChar < SDLK_LAST) {
keyName = SDL_GetKeyName(static_cast<SDLKey>(hotkeyChar)); keyName = SDL_GetKeyName(hotkeyChar);
} }
key = hotkeyChar; key.keysym.sym = hotkeyChar;
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keyName [%s] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),hotkeyChar,key); if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keyName [%s] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),hotkeyChar,key.keysym.sym);
SDLKey keysym = SDLK_UNKNOWN; SDLKey keysym = SDLK_UNKNOWN;
if(keyName == "unknown key" || keyName == "") { if(keyName == "unknown key" || keyName == "") {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); // Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
keysym = configKeys.translateSpecialStringToSDLKey(hotkeyChar); // keysym = configKeys.translateSpecialStringToSDLKey(hotkeyChar);
//
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keysym [%d]\n",__FILE__,__FUNCTION__,__LINE__,keysym); // if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keysym [%d]\n",__FILE__,__FUNCTION__,__LINE__,keysym);
//
// SDL skips capital letters // // SDL skips capital letters
if(keysym >= 65 && keysym <= 90) { // if(keysym >= 65 && keysym <= 90) {
keysym = (SDLKey)((int)keysym + 32); // keysym = (SDLKey)((int)keysym + 32);
} // }
if(keysym < 255) { // if(keysym < 255) {
key = keysym; // key = keysym;
} // }
keyName = SDL_GetKeyName(keysym); // keyName = SDL_GetKeyName(keysym);
} }
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keyName [%s] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),hotkeyChar,key); if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] keyName [%s] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,keyName.c_str(),hotkeyChar,key.keysym.sym);
if(keyName != "unknown key") { if(keyName != "unknown key") {
GraphicLabel *label= labels[hotkeyIndex]; GraphicLabel *label= labels[hotkeyIndex];
@@ -418,41 +421,43 @@ void MenuStateKeysetup::keyUp(char key) {
for(int i = 0; i < userProperties.size(); ++i) { for(int i = 0; i < userProperties.size(); ++i) {
string hotKeyName = userProperties[i].first; string hotKeyName = userProperties[i].first;
if(nameValuePair.first == hotKeyName) { if(nameValuePair.first == hotKeyName) {
if(keysym <= SDLK_ESCAPE || keysym > 255) { // if(keysym <= SDLK_ESCAPE || keysym > 255) {
if(keysym <= SDLK_ESCAPE) { // if(keysym <= SDLK_ESCAPE) {
userProperties[i].second = intToStr(key); // userProperties[i].second = intToStr(extractKeyPressed(key));
} // }
else { // else {
userProperties[i].second = keyName; // userProperties[i].second = keyName;
} // }
} // }
else { // else {
userProperties[i].second = ""; // userProperties[i].second = "";
userProperties[i].second.push_back(key); // userProperties[i].second.push_back(extractKeyPressed(key));
} // }
userProperties[i].second = keyName;
isNewUserKeyEntry = false; isNewUserKeyEntry = false;
break; break;
} }
} }
if(isNewUserKeyEntry == true) { if(isNewUserKeyEntry == true) {
pair<string,string> newNameValuePair = nameValuePair; pair<string,string> newNameValuePair = nameValuePair;
if(keysym <= SDLK_ESCAPE || keysym > 255) { // if(keysym <= SDLK_ESCAPE || keysym > 255) {
if(keysym <= SDLK_ESCAPE) { // if(keysym <= SDLK_ESCAPE) {
newNameValuePair.second = intToStr(key); // newNameValuePair.second = intToStr(extractKeyPressed(key));
} // }
else { // else {
newNameValuePair.second = keyName; // newNameValuePair.second = keyName;
} // }
} // }
else { // else {
newNameValuePair.second = key; // newNameValuePair.second = extractKeyPressed(key);
} // }
newNameValuePair.second = keyName;
userProperties.push_back(newNameValuePair); userProperties.push_back(newNameValuePair);
} }
} }
} }
hotkeyIndex = -1; hotkeyIndex = -1;
hotkeyChar = 0; hotkeyChar = SDLK_UNKNOWN;
} }
} }

View File

@@ -51,7 +51,8 @@ private:
vector<pair<string,string> > userProperties; vector<pair<string,string> > userProperties;
int hotkeyIndex; int hotkeyIndex;
char hotkeyChar; //char hotkeyChar;
SDLKey hotkeyChar;
GraphicLabel labelTestTitle; GraphicLabel labelTestTitle;
GraphicLabel labelTestValue; GraphicLabel labelTestValue;
@@ -65,9 +66,9 @@ public:
void update(); void update();
void render(); void render();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
virtual void keyPress(char c); virtual void keyPress(SDL_KeyboardEvent c);
virtual void keyUp(char key); virtual void keyUp(SDL_KeyboardEvent key);
virtual bool isInSpecialKeyCaptureEvent() { return true; } virtual bool isInSpecialKeyCaptureEvent() { return true; }

View File

@@ -796,7 +796,7 @@ void MenuStateMasterserver::simpleTask(BaseThread *callingThread) {
consoleIRC.addLine("---------------------------------------------"); consoleIRC.addLine("---------------------------------------------");
// write hint to console: // write hint to console:
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
consoleIRC.addLine(Lang::getInstance().get("To switch off music press")+" - \""+configKeys.getCharKey("ToggleMusic")+"\""); consoleIRC.addLine(Lang::getInstance().get("To switch off music press")+" - \""+configKeys.getString("ToggleMusic")+"\"");
announcementLoaded=true; announcementLoaded=true;
} }
@@ -976,7 +976,7 @@ void MenuStateMasterserver::showMessageBox(const string &text, const string &hea
} }
void MenuStateMasterserver::keyDown(char key) { void MenuStateMasterserver::keyDown(SDL_KeyboardEvent key) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if (ircClient != NULL && ircClient->isConnected() == true if (ircClient != NULL && ircClient->isConnected() == true
@@ -985,7 +985,8 @@ void MenuStateMasterserver::keyDown(char key) {
if (chatManager.getEditEnabled() == true) { if (chatManager.getEditEnabled() == true) {
//printf("keyDown key [%d] chatManager.getText() [%s]\n",key,chatManager.getText().c_str()); //printf("keyDown key [%d] chatManager.getText() [%s]\n",key,chatManager.getText().c_str());
MutexSafeWrapper safeMutexIRCPtr(&mutexIRCClient,string(__FILE__) + "_" + intToStr(__LINE__)); MutexSafeWrapper safeMutexIRCPtr(&mutexIRCClient,string(__FILE__) + "_" + intToStr(__LINE__));
if (key == vkReturn && ircClient != NULL) { //if (key == vkReturn && ircClient != NULL) {
if(isKeyPressed(SDLK_RETURN,key) == true && ircClient != NULL) {
ircClient->SendIRCCmdMessage(IRC_CHANNEL, chatManager.getText()); ircClient->SendIRCCmdMessage(IRC_CHANNEL, chatManager.getText());
} }
} }
@@ -993,7 +994,8 @@ void MenuStateMasterserver::keyDown(char key) {
chatManager.keyDown(key); chatManager.keyDown(key);
} }
if(chatManager.getEditEnabled() == false) { if(chatManager.getEditEnabled() == false) {
if(key == configKeys.getCharKey("ToggleMusic")) { //if(key == configKeys.getCharKey("ToggleMusic")) {
if(isKeyPressed(configKeys.getSDLKey("ToggleMusic"),key) == true) {
Config &config = Config::getInstance(); Config &config = Config::getInstance();
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
@@ -1010,7 +1012,8 @@ void MenuStateMasterserver::keyDown(char key) {
consoleIRC.addLine(lang.get("GameMusic")); consoleIRC.addLine(lang.get("GameMusic"));
} }
} }
else if(key == configKeys.getCharKey("SaveGUILayout")) { //else if(key == configKeys.getCharKey("SaveGUILayout")) {
else if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),key) == true) {
bool saved = GraphicComponent::saveAllCustomProperties(containerName); bool saved = GraphicComponent::saveAllCustomProperties(containerName);
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
consoleIRC.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); consoleIRC.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");
@@ -1018,13 +1021,13 @@ void MenuStateMasterserver::keyDown(char key) {
} }
} }
void MenuStateMasterserver::keyPress(char c) { void MenuStateMasterserver::keyPress(SDL_KeyboardEvent c) {
if (ircClient != NULL && ircClient->isConnected() == true if (ircClient != NULL && ircClient->isConnected() == true
&& ircClient->getHasJoinedChannel() == true) { && ircClient->getHasJoinedChannel() == true) {
chatManager.keyPress(c); chatManager.keyPress(c);
} }
} }
void MenuStateMasterserver::keyUp(char key) { void MenuStateMasterserver::keyUp(SDL_KeyboardEvent key) {
if (ircClient != NULL && ircClient->isConnected() == true if (ircClient != NULL && ircClient->isConnected() == true
&& ircClient->getHasJoinedChannel() == true) { && ircClient->getHasJoinedChannel() == true) {
chatManager.keyUp(key); chatManager.keyUp(key);

View File

@@ -1,7 +1,7 @@
// ============================================================== // ==============================================================
// This file is part of Glest (www.glest.org) // This file is part of Glest (www.glest.org)
// //
// Copyright (C) 2001-2005 Marti<74>o Figueroa // Copyright (C) 2001-2005 Marti<74>o Figueroa
// //
// You can redistribute this code and/or modify it under // You can redistribute this code and/or modify it under
// the terms of the GNU General Public License as published // the terms of the GNU General Public License as published
@@ -119,9 +119,9 @@ public:
void update(); void update();
void render(); void render();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
virtual void keyPress(char c); virtual void keyPress(SDL_KeyboardEvent c);
virtual void keyUp(char key); virtual void keyUp(SDL_KeyboardEvent key);
virtual void simpleTask(BaseThread *callingThread); virtual void simpleTask(BaseThread *callingThread);
virtual bool isInSpecialKeyCaptureEvent() { return chatManager.getEditEnabled(); } virtual bool isInSpecialKeyCaptureEvent() { return chatManager.getEditEnabled(); }

View File

@@ -2011,19 +2011,21 @@ void MenuStateMods::update() {
console.update(); console.update();
} }
void MenuStateMods::keyDown(char key) { void MenuStateMods::keyDown(SDL_KeyboardEvent key) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key == configKeys.getCharKey("ShowFullConsole")) { //if(key == configKeys.getCharKey("ShowFullConsole")) {
if(isKeyPressed(configKeys.getSDLKey("ShowFullConsole"),key) == true) {
showFullConsole= true; showFullConsole= true;
} }
} }
void MenuStateMods::keyPress(char c) { void MenuStateMods::keyPress(SDL_KeyboardEvent c) {
} }
void MenuStateMods::keyUp(char key) { void MenuStateMods::keyUp(SDL_KeyboardEvent key) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key== configKeys.getCharKey("ShowFullConsole")) { //if(key== configKeys.getCharKey("ShowFullConsole")) {
if(isKeyPressed(configKeys.getSDLKey("ShowFullConsole"),key) == true) {
showFullConsole= false; showFullConsole= false;
} }
} }

View File

@@ -186,9 +186,9 @@ public:
void render(); void render();
void update(); void update();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
virtual void keyPress(char c); virtual void keyPress(SDL_KeyboardEvent c);
virtual void keyUp(char key); virtual void keyUp(SDL_KeyboardEvent key);
virtual void simpleTask(BaseThread *callingThread); virtual void simpleTask(BaseThread *callingThread);

View File

@@ -133,9 +133,10 @@ void MenuStateNewGame::update(){
console.update(); console.update();
} }
void MenuStateNewGame::keyDown(char key) { void MenuStateNewGame::keyDown(SDL_KeyboardEvent key) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key == configKeys.getCharKey("SaveGUILayout")) { //if(key == configKeys.getCharKey("SaveGUILayout")) {
if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),key) == true) {
bool saved = GraphicComponent::saveAllCustomProperties(containerName); bool saved = GraphicComponent::saveAllCustomProperties(containerName);
//Lang &lang= Lang::getInstance(); //Lang &lang= Lang::getInstance();
//console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); //console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");

View File

@@ -1,7 +1,7 @@
// ============================================================== // ==============================================================
// This file is part of Glest (www.glest.org) // This file is part of Glest (www.glest.org)
// //
// Copyright (C) 2001-2005 Marti<74>o Figueroa // Copyright (C) 2001-2005 Marti<74>o Figueroa
// //
// You can redistribute this code and/or modify it under // You can redistribute this code and/or modify it under
// the terms of the GNU General Public License as published // the terms of the GNU General Public License as published
@@ -37,7 +37,7 @@ public:
void mouseMove(int x, int y, const MouseState *mouseState); void mouseMove(int x, int y, const MouseState *mouseState);
void update(); void update();
void render(); void render();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
}; };

View File

@@ -682,9 +682,10 @@ bool MenuStateOptions::isInSpecialKeyCaptureEvent() {
return (activeInputLabel != NULL); return (activeInputLabel != NULL);
} }
void MenuStateOptions::keyDown(char key){ void MenuStateOptions::keyDown(SDL_KeyboardEvent key) {
if(activeInputLabel != NULL) { if(activeInputLabel != NULL) {
if(key == vkBack) { //if(key == vkBack) {
if(isKeyPressed(SDLK_BACKSPACE,key) == true) {
string text= activeInputLabel->getText(); string text= activeInputLabel->getText();
if(text.size() > 1) { if(text.size() > 1) {
text.erase(text.end()-2); text.erase(text.end()-2);
@@ -694,28 +695,29 @@ void MenuStateOptions::keyDown(char key){
} }
} }
void MenuStateOptions::keyPress(char c){ void MenuStateOptions::keyPress(SDL_KeyboardEvent c) {
if(activeInputLabel!=NULL) if(activeInputLabel!=NULL) {
{
//printf("[%d]\n",c); fflush(stdout); //printf("[%d]\n",c); fflush(stdout);
int maxTextSize= 16; int maxTextSize= 16;
if(&labelPlayerName==activeInputLabel){ if(&labelPlayerName==activeInputLabel) {
if((c>='0' && c<='9')||(c>='a' && c<='z')||(c>='A' && c<='Z')|| SDLKey key = extractKeyPressed(c);
//if((c>='0' && c<='9')||(c>='a' && c<='z')||(c>='A' && c<='Z')||
// (c>=(192-256) && c<=(255-256))|| // test some support for accented letters in names, is this ok? (latin1 signed char) // (c>=(192-256) && c<=(255-256))|| // test some support for accented letters in names, is this ok? (latin1 signed char)
// no master server breaks, and a russian translation with game switched to KOI-8p encoding? probably irc too. // no master server breaks, and a russian translation with game switched to KOI-8p encoding? probably irc too.
// (use Shared::Platform::charSet in shared_lib/include/platform/sdl/gl_wrap.h ?) // (use Shared::Platform::charSet in shared_lib/include/platform/sdl/gl_wrap.h ?)
(c=='-')||(c=='(')||(c==')')){ //(c=='-')||(c=='(')||(c==')')){
if(activeInputLabel->getText().size()<maxTextSize){ if(activeInputLabel->getText().size()<maxTextSize){
string text= activeInputLabel->getText(); string text= activeInputLabel->getText();
text.insert(text.end()-1, c); text.insert(text.end()-1, key);
activeInputLabel->setText(text); activeInputLabel->setText(text);
} }
} //}
} }
} }
else { else {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(c == configKeys.getCharKey("SaveGUILayout")) { //if(c == configKeys.getCharKey("SaveGUILayout")) {
if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),c) == true) {
bool saved = GraphicComponent::saveAllCustomProperties(containerName); bool saved = GraphicComponent::saveAllCustomProperties(containerName);
//Lang &lang= Lang::getInstance(); //Lang &lang= Lang::getInstance();
//console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); //console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");

View File

@@ -127,8 +127,8 @@ public:
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);
void render(); void render();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
virtual void keyPress(char c); virtual void keyPress(SDL_KeyboardEvent c);
virtual bool isInSpecialKeyCaptureEvent(); virtual bool isInSpecialKeyCaptureEvent();
private: private:

View File

@@ -210,18 +210,22 @@ void MenuStateRoot::update(){
console.update(); console.update();
} }
void MenuStateRoot::keyDown(char key) { void MenuStateRoot::keyDown(SDL_KeyboardEvent key) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key,key); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = [%c] [%d]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] key = [%d - %c]\n",__FILE__,__FUNCTION__,__LINE__,key,key); if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] key = [%d - %c]\n",__FILE__,__FUNCTION__,__LINE__,key.keysym.sym,key.keysym.sym);
//printf("\n\n\nIN MENU STATE ROOT KEYDOWN!!!\n\n\n");
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
//exit //exit
if(key == configKeys.getCharKey("ExitKey")) { //if(key == configKeys.getCharKey("ExitKey")) {
if(isKeyPressed(configKeys.getSDLKey("ExitKey"),key) == true) {
Lang &lang= Lang::getInstance(); Lang &lang= Lang::getInstance();
showMessageBox(lang.get("ExitGame?"), "", true); showMessageBox(lang.get("ExitGame?"), "", true);
} }
else if(mainMessageBox.getEnabled() == true && key == vkReturn) { //else if(mainMessageBox.getEnabled() == true && key == vkReturn) {
else if(mainMessageBox.getEnabled() == true && isKeyPressed(SDLK_RETURN,key) == true) {
SDL_keysym keystate = Window::getKeystate(); SDL_keysym keystate = Window::getKeystate();
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] keystate.mod [%d]\n",__FILE__,__FUNCTION__,__LINE__,keystate.mod); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] keystate.mod [%d]\n",__FILE__,__FUNCTION__,__LINE__,keystate.mod);
@@ -233,7 +237,8 @@ void MenuStateRoot::keyDown(char key) {
program->exit(); program->exit();
} }
} }
else if(key == configKeys.getCharKey("SaveGUILayout")) { //else if(key == configKeys.getCharKey("SaveGUILayout")) {
else if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),key) == true) {
bool saved = GraphicComponent::saveAllCustomProperties(containerName); bool saved = GraphicComponent::saveAllCustomProperties(containerName);
//Lang &lang= Lang::getInstance(); //Lang &lang= Lang::getInstance();
//console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); //console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");

View File

@@ -41,7 +41,7 @@ public:
void mouseMove(int x, int y, const MouseState *mouseState); void mouseMove(int x, int y, const MouseState *mouseState);
void render(); void render();
void update(); void update();
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
void showMessageBox(const string &text, const string &header, bool toggle); void showMessageBox(const string &text, const string &header, bool toggle);
}; };

View File

@@ -471,9 +471,10 @@ void MenuStateScenario::showMessageBox(const string &text, const string &header,
} }
} }
void MenuStateScenario::keyDown(char key) { void MenuStateScenario::keyDown(SDL_KeyboardEvent key) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys)); Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
if(key == configKeys.getCharKey("SaveGUILayout")) { //if(key == configKeys.getCharKey("SaveGUILayout")) {
if(isKeyPressed(configKeys.getSDLKey("SaveGUILayout"),key) == true) {
bool saved = GraphicComponent::saveAllCustomProperties(containerName); bool saved = GraphicComponent::saveAllCustomProperties(containerName);
//Lang &lang= Lang::getInstance(); //Lang &lang= Lang::getInstance();
//console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]"); //console.addLine(lang.get("GUILayoutSaved") + " [" + (saved ? lang.get("Yes") : lang.get("No"))+ "]");

View File

@@ -68,7 +68,7 @@ public:
void setScenario(int i); void setScenario(int i);
int getScenarioCount() const { return listBoxScenario.getItemCount(); } int getScenarioCount() const { return listBoxScenario.getItemCount(); }
virtual void keyDown(char key); virtual void keyDown(SDL_KeyboardEvent key);
private: private:

View File

@@ -208,17 +208,17 @@ protected:
virtual void eventMouseMove(int x, int y, const MouseState* mouseState){} virtual void eventMouseMove(int x, int y, const MouseState* mouseState){}
virtual void eventMouseDoubleClick(int x, int y, MouseButton mouseButton){} virtual void eventMouseDoubleClick(int x, int y, MouseButton mouseButton){}
virtual void eventMouseWheel(int x, int y, int zDelta) {} virtual void eventMouseWheel(int x, int y, int zDelta) {}
virtual void eventKeyDown(char key){} virtual void eventKeyDown(SDL_KeyboardEvent key) {}
virtual void eventKeyUp(char key){} virtual void eventKeyUp(SDL_KeyboardEvent key) {}
virtual void eventKeyPress(char c){} virtual void eventKeyPress(SDL_KeyboardEvent c) {}
virtual void eventResize(){}; virtual void eventResize() {};
virtual void eventPaint(){} virtual void eventPaint() {}
virtual void eventTimer(int timerId){} virtual void eventTimer(int timerId) {}
virtual void eventActivate(bool activated){}; virtual void eventActivate(bool activated) {};
virtual void eventResize(SizeState sizeState){}; virtual void eventResize(SizeState sizeState) {};
virtual void eventMenu(int menuId){} virtual void eventMenu(int menuId) {}
virtual void eventClose(){}; virtual void eventClose() {};
virtual void eventDestroy(){}; virtual void eventDestroy() {};
private: private:
/// needed to detect double clicks /// needed to detect double clicks
@@ -230,6 +230,10 @@ private:
static void toggleFullscreen(); static void toggleFullscreen();
}; };
bool isKeyPressed(SDLKey compareKey, SDL_KeyboardEvent input);
SDLKey extractKeyPressed(SDL_KeyboardEvent input);
}}//end namespace }}//end namespace
#endif #endif

View File

@@ -190,12 +190,12 @@ bool Window::handleEvent() {
} }
#endif #endif
if(global_window) { if(global_window) {
char key = getKey(event.key.keysym,true); //char key = getKey(event.key.keysym,true);
key = tolower(key); //key = tolower(key);
//if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("******************* key [%d]\n",key); //if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("******************* key [%d]\n",key);
global_window->eventKeyDown(key); global_window->eventKeyDown(event.key);
global_window->eventKeyPress(getRawKey(event.key.keysym)); global_window->eventKeyPress(event.key);
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
} }
@@ -217,9 +217,9 @@ bool Window::handleEvent() {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] KEY_UP, Raw SDL key [%d] mod [%d] unicode [%d] scancode [%d]\n",__FILE__,__FUNCTION__,__LINE__,event.key.keysym.sym,event.key.keysym.mod,event.key.keysym.unicode,event.key.keysym.scancode); if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] KEY_UP, Raw SDL key [%d] mod [%d] unicode [%d] scancode [%d]\n",__FILE__,__FUNCTION__,__LINE__,event.key.keysym.sym,event.key.keysym.mod,event.key.keysym.unicode,event.key.keysym.scancode);
if(global_window) { if(global_window) {
char key = getKey(event.key.keysym,true); //char key = getKey(event.key.keysym,true);
key = tolower(key); //key = tolower(key);
global_window->eventKeyUp(key); global_window->eventKeyUp(event.key);
} }
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] =================================== END OF SDL SDL_KEYUP ================================\n",__FILE__,__FUNCTION__,__LINE__); if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] =================================== END OF SDL SDL_KEYUP ================================\n",__FILE__,__FUNCTION__,__LINE__);
@@ -942,4 +942,75 @@ char Window::getKey(SDL_keysym keysym,bool skipSpecialKeys) {
return result; return result;
} }
bool isKeyPressed(SDLKey compareKey, SDL_KeyboardEvent input) {
Uint16 c = 0;
if(input.keysym.unicode > 0 && input.keysym.unicode < 0x80) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
c = input.keysym.unicode;
//c = toupper(c);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] #1 (c & 0xFF) [%d]\n",__FILE__,__FUNCTION__,__LINE__,(c & 0xFF));
}
//if(c == 0) {
if(c <= SDLK_UNKNOWN || c >= SDLK_LAST) {
c = input.keysym.sym;
}
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %u] c = [%d]\n",__FILE__,__FUNCTION__,__LINE__,c);
//c = (c & 0xFF);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] returning key [%d]\n",__FILE__,__FUNCTION__,__LINE__,c);
// SDL does NOT handle lowercase
if(c >= 'A' && c <= 'Z') {
c = tolower(c);
}
// SDL does NOT handle lowercase
if(compareKey >= 'A' && compareKey <= 'Z') {
compareKey = (SDLKey)tolower((char)compareKey);
}
bool result = (c == compareKey);
if(result == false) {
if(compareKey == SDLK_RETURN) {
result = (c == SDLK_KP_ENTER);
}
}
string compareKeyName = SDL_GetKeyName(compareKey);
string pressKeyName = SDL_GetKeyName((SDLKey)c);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] compareKey [%d - %s] pressed key [%d - %s] result = %d\n",__FILE__,__FUNCTION__,__LINE__,compareKey,compareKeyName.c_str(),c,pressKeyName.c_str(),result);
//printf ("In [%s::%s Line: %d] compareKey [%d - %s] pressed key [%d - %s] result = %d\n",__FILE__,__FUNCTION__,__LINE__,compareKey,compareKeyName.c_str(),c,pressKeyName.c_str(),result);
return result;
}
SDLKey extractKeyPressed(SDL_KeyboardEvent input) {
SDLKey c = SDLK_UNKNOWN;
if(input.keysym.unicode > 0 && input.keysym.unicode < 0x80) {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
c = (SDLKey)input.keysym.unicode;
//c = toupper(c);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] #1 (c & 0xFF) [%d]\n",__FILE__,__FUNCTION__,__LINE__,(c & 0xFF));
}
if(c <= SDLK_UNKNOWN || c >= SDLK_LAST) {
c = input.keysym.sym;
}
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %u] c = [%d]\n",__FILE__,__FUNCTION__,__LINE__,c);
//c = (SDLKey)(c & 0xFF);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] returning key [%d]\n",__FILE__,__FUNCTION__,__LINE__,c);
string pressKeyName = SDL_GetKeyName((SDLKey)c);
string inputKeyName = SDL_GetKeyName(input.keysym.sym);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] pressed key [%d - %s]\n",__FILE__,__FUNCTION__,__LINE__,c,pressKeyName.c_str());
//printf ("In [%s::%s Line: %d] pressed key [%d - %s] input [%d - %s] input.keysym.unicode [%d]\n",__FILE__,__FUNCTION__,__LINE__,c,pressKeyName.c_str(),input.keysym.sym,inputKeyName.c_str(),input.keysym.unicode);
return c;
}
}}//end namespace }}//end namespace