From f7d2631879697c7ddd244a0b871ce7c13817f81e Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Mon, 3 Jan 2011 22:22:52 +0000 Subject: [PATCH] - added a few more special keys for available use as hotkeys (vkPause and vkPrint) --- source/glest_game/global/config.cpp | 9 ++++++++- source/shared_lib/include/platform/sdl/window.h | 8 +++++--- .../sources/platform/common/platform_common.cpp | 4 ++++ source/shared_lib/sources/platform/sdl/window.cpp | 4 ++++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/source/glest_game/global/config.cpp b/source/glest_game/global/config.cpp index d76345e8..c5df482e 100644 --- a/source/glest_game/global/config.cpp +++ b/source/glest_game/global/config.cpp @@ -322,8 +322,15 @@ char Config::translateStringToCharKey(const string &value) const { else if(value == "vkF12") { result = vkF12; } + else if(value == "vkPrint") { + result = vkPrint; + } + else if(value == "vkPause") { + result = vkPause; + } + else { - string sError = "Unsupported key translation" + value; + string sError = "Unsupported key translation [" + value + "]"; throw runtime_error(sError.c_str()); } } diff --git a/source/shared_lib/include/platform/sdl/window.h b/source/shared_lib/include/platform/sdl/window.h index 78975aed..902c6106 100644 --- a/source/shared_lib/include/platform/sdl/window.h +++ b/source/shared_lib/include/platform/sdl/window.h @@ -108,6 +108,8 @@ const char vkF10 = -23; const char vkF11 = -24; const char vkF12 = -25; const char vkDelete = -26; +const char vkPrint = -27; +const char vkPause = -29; enum WindowStyle{ wsFullscreen, @@ -131,7 +133,7 @@ private: static bool isKeyPressedDown; static bool isFullScreen; static SDL_keysym keystate; - + static void setLastMouseEvent(int64 lastMouseEvent) {Window::lastMouseEvent = lastMouseEvent;} static int64 getLastMouseEvent() {return Window::lastMouseEvent;} @@ -158,7 +160,7 @@ public: static const bool getIsFullScreen() { return isFullScreen; } static void setIsFullScreen(bool value) { isFullScreen = value; } static SDL_keysym getKeystate() { return keystate; } - + Window(); virtual ~Window(); @@ -189,7 +191,7 @@ public: static void setUseDefaultCursorOnly(bool value) { no2DMouseRendering = value; } static bool getUseDefaultCursorOnly() { return no2DMouseRendering; } - + static void setAllowAltEnterFullscreenToggle(bool value) { allowAltEnterFullscreenToggle = value; } static bool getAllowAltEnterFullscreenToggle() { return allowAltEnterFullscreenToggle; } diff --git a/source/shared_lib/sources/platform/common/platform_common.cpp b/source/shared_lib/sources/platform/common/platform_common.cpp index 59790a1b..0fc691b4 100644 --- a/source/shared_lib/sources/platform/common/platform_common.cpp +++ b/source/shared_lib/sources/platform/common/platform_common.cpp @@ -948,6 +948,10 @@ bool isKeyDown(int virtualKey) { return (keystate[SDLK_BACKSPACE] != 0); case vkDelete: return (keystate[SDLK_DELETE] != 0); + case vkPrint: + return (keystate[SDLK_PRINT] != 0); + case vkPause: + return (keystate[SDLK_PAUSE] != 0); default: std::cerr << "isKeyDown called with unknown key.\n"; break; diff --git a/source/shared_lib/sources/platform/sdl/window.cpp b/source/shared_lib/sources/platform/sdl/window.cpp index a4b88cf1..a881bd8e 100644 --- a/source/shared_lib/sources/platform/sdl/window.cpp +++ b/source/shared_lib/sources/platform/sdl/window.cpp @@ -622,6 +622,10 @@ char Window::getKey(SDL_keysym keysym,bool skipSpecialKeys) { return vkBack; case SDLK_DELETE: return vkDelete; + case SDLK_PRINT: + return vkPrint; + case SDLK_PAUSE: + return vkPause; case SDLK_F1: return vkF1; break;