mirror of
https://github.com/glest/glest-source.git
synced 2025-08-16 21:33:59 +02:00
- some more unicode input cleanup
This commit is contained in:
@@ -339,7 +339,7 @@ void MenuStateKeysetup::showMessageBox(const string &text, const string &header,
|
|||||||
|
|
||||||
void MenuStateKeysetup::keyDown(SDL_KeyboardEvent key) {
|
void MenuStateKeysetup::keyDown(SDL_KeyboardEvent key) {
|
||||||
hotkeyChar = extractKeyPressed(key);
|
hotkeyChar = extractKeyPressed(key);
|
||||||
printf("\nkeyDown [%d]\n",hotkeyChar);
|
//printf("\nkeyDown [%d]\n",hotkeyChar);
|
||||||
|
|
||||||
string keyName = "";
|
string keyName = "";
|
||||||
if(hotkeyChar > SDLK_UNKNOWN && hotkeyChar < SDLK_LAST) {
|
if(hotkeyChar > SDLK_UNKNOWN && hotkeyChar < SDLK_LAST) {
|
||||||
@@ -369,7 +369,7 @@ void MenuStateKeysetup::keyDown(SDL_KeyboardEvent key) {
|
|||||||
|
|
||||||
char szBuf[1024] = "";
|
char szBuf[1024] = "";
|
||||||
//sprintf(szBuf,"%s [%d][%d]",keyName.c_str(),key.keysym.sym,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);
|
sprintf(szBuf,"%s [%d][%d][%d]",keyName.c_str(),key.keysym.sym,hotkeyChar,key.keysym.unicode);
|
||||||
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);
|
||||||
|
@@ -40,6 +40,41 @@ using Shared::Util::Checksum;
|
|||||||
namespace Shared { namespace PlatformCommon {
|
namespace Shared { namespace PlatformCommon {
|
||||||
|
|
||||||
static const int IGNORE_CMD_RESULT_VALUE = -999999;
|
static const int IGNORE_CMD_RESULT_VALUE = -999999;
|
||||||
|
|
||||||
|
// keycode constants (unfortunately designed after DirectInput and therefore not
|
||||||
|
// very specific)
|
||||||
|
// They also have to fit into a char. The positive numbers seem to be equal
|
||||||
|
// to ascii, for the rest we have to find sensefull mappings from SDL (which is
|
||||||
|
// alot more fine grained like left/right control instead of just control...)
|
||||||
|
const char vkAdd = -1;
|
||||||
|
const char vkSubtract = -2;
|
||||||
|
const char vkAlt = -3;
|
||||||
|
const char vkControl = -4;
|
||||||
|
const char vkShift = -5;
|
||||||
|
const char vkEscape = -6;
|
||||||
|
const char vkUp = -7;
|
||||||
|
const char vkLeft = -8;
|
||||||
|
const char vkRight = -9;
|
||||||
|
const char vkDown = -10;
|
||||||
|
const char vkReturn = -11;
|
||||||
|
const char vkBack = -12;
|
||||||
|
const char vkTab = -13;
|
||||||
|
const char vkF1 = -14;
|
||||||
|
const char vkF2 = -15;
|
||||||
|
const char vkF3 = -16;
|
||||||
|
const char vkF4 = -17;
|
||||||
|
const char vkF5 = -18;
|
||||||
|
const char vkF6 = -19;
|
||||||
|
const char vkF7 = -20;
|
||||||
|
const char vkF8 = -21;
|
||||||
|
const char vkF9 = -22;
|
||||||
|
const char vkF10 = -23;
|
||||||
|
const char vkF11 = -24;
|
||||||
|
const char vkF12 = -25;
|
||||||
|
const char vkDelete = -26;
|
||||||
|
const char vkPrint = -27;
|
||||||
|
const char vkPause = -29;
|
||||||
|
|
||||||
// =====================================================
|
// =====================================================
|
||||||
// class PerformanceTimer
|
// class PerformanceTimer
|
||||||
// =====================================================
|
// =====================================================
|
||||||
@@ -185,6 +220,7 @@ void sleep(int millis);
|
|||||||
bool isCursorShowing();
|
bool isCursorShowing();
|
||||||
void showCursor(bool b);
|
void showCursor(bool b);
|
||||||
bool isKeyDown(int virtualKey);
|
bool isKeyDown(int virtualKey);
|
||||||
|
//bool isKeyDown(SDLKey key);
|
||||||
string getCommandLine();
|
string getCommandLine();
|
||||||
|
|
||||||
#define SPACES " "
|
#define SPACES " "
|
||||||
|
@@ -76,41 +76,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// keycode constants (unfortunately designed after DirectInput and therefore not
|
|
||||||
// very specific)
|
|
||||||
// They also have to fit into a char. The positive numbers seem to be equal
|
|
||||||
// to ascii, for the rest we have to find sensefull mappings from SDL (which is
|
|
||||||
// alot more fine grained like left/right control instead of just control...)
|
|
||||||
const char vkAdd = -1;
|
|
||||||
const char vkSubtract = -2;
|
|
||||||
const char vkAlt = -3;
|
|
||||||
const char vkControl = -4;
|
|
||||||
const char vkShift = -5;
|
|
||||||
const char vkEscape = -6;
|
|
||||||
const char vkUp = -7;
|
|
||||||
const char vkLeft = -8;
|
|
||||||
const char vkRight = -9;
|
|
||||||
const char vkDown = -10;
|
|
||||||
const char vkReturn = -11;
|
|
||||||
const char vkBack = -12;
|
|
||||||
const char vkTab = -13;
|
|
||||||
const char vkF1 = -14;
|
|
||||||
const char vkF2 = -15;
|
|
||||||
const char vkF3 = -16;
|
|
||||||
const char vkF4 = -17;
|
|
||||||
const char vkF5 = -18;
|
|
||||||
const char vkF6 = -19;
|
|
||||||
const char vkF7 = -20;
|
|
||||||
const char vkF8 = -21;
|
|
||||||
const char vkF9 = -22;
|
|
||||||
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{
|
enum WindowStyle{
|
||||||
wsFullscreen,
|
wsFullscreen,
|
||||||
wsWindowedFixed,
|
wsWindowedFixed,
|
||||||
@@ -225,8 +190,8 @@ private:
|
|||||||
void handleMouseDown(SDL_Event event);
|
void handleMouseDown(SDL_Event event);
|
||||||
|
|
||||||
static MouseButton getMouseButton(int sdlButton);
|
static MouseButton getMouseButton(int sdlButton);
|
||||||
static char getKey(SDL_keysym keysym, bool skipSpecialKeys=false);
|
//static char getKey(SDL_keysym keysym, bool skipSpecialKeys=false);
|
||||||
static char getNormalKey(SDL_keysym keysym,bool skipSpecialKeys=false);
|
//static char getNormalKey(SDL_keysym keysym,bool skipSpecialKeys=false);
|
||||||
static void toggleFullscreen();
|
static void toggleFullscreen();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1596,6 +1596,21 @@ void showCursor(bool b) {
|
|||||||
SDL_ShowCursor(b == true ? SDL_ENABLE : SDL_DISABLE);
|
SDL_ShowCursor(b == true ? SDL_ENABLE : SDL_DISABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//bool isKeyDown(SDLKey key) {
|
||||||
|
// const Uint8* keystate = SDL_GetKeyState(0);
|
||||||
|
//
|
||||||
|
// if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] key = %d\n",__FILE__,__FUNCTION__,__LINE__,key);
|
||||||
|
//
|
||||||
|
// if(key >= 0) {
|
||||||
|
// if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] keystate[key] = %d\n",__FILE__,__FUNCTION__,__LINE__,keystate[key]);
|
||||||
|
//
|
||||||
|
// return (keystate[key] != 0);
|
||||||
|
// }
|
||||||
|
// if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] returning false\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
// return false;
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
|
||||||
bool isKeyDown(int virtualKey) {
|
bool isKeyDown(int virtualKey) {
|
||||||
char key = static_cast<char> (virtualKey);
|
char key = static_cast<char> (virtualKey);
|
||||||
const Uint8* keystate = SDL_GetKeyState(0);
|
const Uint8* keystate = SDL_GetKeyState(0);
|
||||||
@@ -1647,7 +1662,6 @@ bool isKeyDown(int virtualKey) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
string replaceAll(string& context, const string& from, const string& to) {
|
string replaceAll(string& context, const string& from, const string& to) {
|
||||||
size_t lookHere = 0;
|
size_t lookHere = 0;
|
||||||
size_t foundHere = 0;
|
size_t foundHere = 0;
|
||||||
|
@@ -577,6 +577,7 @@ MouseButton Window::getMouseButton(int sdlButton) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
char Window::getRawKey(SDL_keysym keysym) {
|
char Window::getRawKey(SDL_keysym keysym) {
|
||||||
char result = 0;
|
char result = 0;
|
||||||
// Because Control messes up unicode character
|
// Because Control messes up unicode character
|
||||||
@@ -941,6 +942,7 @@ char Window::getKey(SDL_keysym keysym,bool skipSpecialKeys) {
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
bool isKeyPressed(SDLKey compareKey, SDL_KeyboardEvent input) {
|
bool isKeyPressed(SDLKey compareKey, SDL_KeyboardEvent input) {
|
||||||
Uint16 c = 0;
|
Uint16 c = 0;
|
||||||
|
Reference in New Issue
Block a user