Team-
This is my first try with this email system so I hope it works. In any case I am codeing in C/C++ with VC++6. My program is going to be an awesone file share and chat program btw. On XP it works fine but in Vista the shift key does not work. I updated to 1.2.12 but it did not resolve the issue. I will post some code so you know what I’m doing>
string Details::proc_key(SDL_Event &event, string cpp_main_string)
{
//duhmod = SDL_GetModState();
//if (duhmod == KMOD_CAPS && duhmod == KMOD_LSHIFT)
// {cpp_main_string = cpp_main_string + “OO”;}
if( event.key.keysym.mod & KMOD_NUM ) printf( "NUMLOCK \n" );
if( event.key.keysym.mod & KMOD_CAPS ) printf( "CAPSLOCK " );
if( event.key.keysym.mod & KMOD_LCTRL ) printf( "LCTRL " );
if( event.key.keysym.mod & KMOD_RCTRL ) printf( "RCTRL " );
if( event.key.keysym.mod & KMOD_RSHIFT ) printf( "RSHIFT " );
if( event.key.keysym.mod & KMOD_LSHIFT ) printf( "LSHIFT " );
if( event.key.keysym.mod & KMOD_RALT ) printf( "RALT " );
if( event.key.keysym.mod & KMOD_LALT ) printf( "LALT " );
if( event.key.keysym.mod & KMOD_CTRL ) printf( "CTRL " );
if( event.key.keysym.mod & KMOD_SHIFT ) printf( "SHIFT " );
if( event.key.keysym.mod & KMOD_ALT ) printf( "ALT " );
printf( "\n" );
if (event.key.keysym.mod == KMOD_LSHIFT || event.key.keysym.mod == KMOD_RSHIFT)
{
if(event.key.keysym.sym == SDLK_a) {cpp_main_string = cpp_main_string + "A";}
if(event.key.keysym.sym == SDLK_b) {cpp_main_string = cpp_main_string + "B";}
if(event.key.keysym.sym == SDLK_c) {cpp_main_string = cpp_main_string + "C";}
if(event.key.keysym.sym == SDLK_d) {cpp_main_string = cpp_main_string + "D";}
if(event.key.keysym.sym == SDLK_e) {cpp_main_string = cpp_main_string + "E";}
if(event.key.keysym.sym == SDLK_f) {cpp_main_string = cpp_main_string + "F";}
if(event.key.keysym.sym == SDLK_g) {cpp_main_string = cpp_main_string + "G";}
if(event.key.keysym.sym == SDLK_h) {cpp_main_string = cpp_main_string + "H";}
if(event.key.keysym.sym == SDLK_i) {cpp_main_string = cpp_main_string + "I";}
if(event.key.keysym.sym == SDLK_j) {cpp_main_string = cpp_main_string + "J";}
if(event.key.keysym.sym == SDLK_k) {cpp_main_string = cpp_main_string + "K";}
if(event.key.keysym.sym == SDLK_l) {cpp_main_string = cpp_main_string + "L";}
if(event.key.keysym.sym == SDLK_m) {cpp_main_string = cpp_main_string + "M";}
if(event.key.keysym.sym == SDLK_n) {cpp_main_string = cpp_main_string + "N";}
if(event.key.keysym.sym == SDLK_o) {cpp_main_string = cpp_main_string + "O";}
if(event.key.keysym.sym == SDLK_p) {cpp_main_string = cpp_main_string + "P";}
if(event.key.keysym.sym == SDLK_q) {cpp_main_string = cpp_main_string + "Q";}
if(event.key.keysym.sym == SDLK_r) {cpp_main_string = cpp_main_string + "R";}
if(event.key.keysym.sym == SDLK_s) {cpp_main_string = cpp_main_string + "S";}
if(event.key.keysym.sym == SDLK_t) {cpp_main_string = cpp_main_string + "T";}
if(event.key.keysym.sym == SDLK_u) {cpp_main_string = cpp_main_string + "U";}
if(event.key.keysym.sym == SDLK_v) {cpp_main_string = cpp_main_string + "V";}
if(event.key.keysym.sym == SDLK_w) {cpp_main_string = cpp_main_string + "W";}
if(event.key.keysym.sym == SDLK_x) {cpp_main_string = cpp_main_string + "X";}
if(event.key.keysym.sym == SDLK_y) {cpp_main_string = cpp_main_string + "Y";}
if(event.key.keysym.sym == SDLK_z) {cpp_main_string = cpp_main_string + "Z";}
if(event.key.keysym.sym == SDLK_BACKQUOTE) {cpp_main_string = cpp_main_string + "~";}
if(event.key.keysym.sym == SDLK_1) {cpp_main_string = cpp_main_string + "!";}
if(event.key.keysym.sym == SDLK_2) {cpp_main_string = cpp_main_string + "@";}
if(event.key.keysym.sym == SDLK_3) {cpp_main_string = cpp_main_string + "#";}
if(event.key.keysym.sym == SDLK_4) {cpp_main_string = cpp_main_string + "$";}
if(event.key.keysym.sym == SDLK_5) {cpp_main_string = cpp_main_string + "%";}
if(event.key.keysym.sym == SDLK_6) {cpp_main_string = cpp_main_string + "^";}
if(event.key.keysym.sym == SDLK_7) {cpp_main_string = cpp_main_string + "&";}
if(event.key.keysym.sym == SDLK_8) {cpp_main_string = cpp_main_string + "*";}
if(event.key.keysym.sym == SDLK_9) {cpp_main_string = cpp_main_string + "(";}
if(event.key.keysym.sym == SDLK_0) {cpp_main_string = cpp_main_string + ")";}
if(event.key.keysym.sym == SDLK_MINUS) {cpp_main_string = cpp_main_string + "_";}
if(event.key.keysym.sym == SDLK_EQUALS) {cpp_main_string = cpp_main_string + "+";}
if(event.key.keysym.sym == SDLK_LEFTBRACKET) {cpp_main_string = cpp_main_string + "{";}
if(event.key.keysym.sym == SDLK_RIGHTBRACKET) {cpp_main_string = cpp_main_string + "}";}
if(event.key.keysym.sym == SDLK_BACKSLASH) {cpp_main_string = cpp_main_string + "|";}
if(event.key.keysym.sym == SDLK_SEMICOLON) {cpp_main_string = cpp_main_string + ":";}
if(event.key.keysym.sym == SDLK_QUOTE) {cpp_main_string = cpp_main_string + '"';}
if(event.key.keysym.sym == SDLK_COMMA) {cpp_main_string = cpp_main_string + "<";}
if(event.key.keysym.sym == SDLK_PERIOD) {cpp_main_string = cpp_main_string + ">";}
if(event.key.keysym.sym == SDLK_SLASH) {cpp_main_string = cpp_main_string + "?";}
}
/*
else if (event.key.keysym.mod == KMOD_CAPS)
{
if(event.key.keysym.sym == SDLK_a) {cpp_main_string = cpp_main_string + "A";}
if(event.key.keysym.sym == SDLK_b) {cpp_main_string = cpp_main_string + "B";}
if(event.key.keysym.sym == SDLK_c) {cpp_main_string = cpp_main_string + "C";}
if(event.key.keysym.sym == SDLK_d) {cpp_main_string = cpp_main_string + "D";}
if(event.key.keysym.sym == SDLK_e) {cpp_main_string = cpp_main_string + "E";}
if(event.key.keysym.sym == SDLK_f) {cpp_main_string = cpp_main_string + "F";}
if(event.key.keysym.sym == SDLK_g) {cpp_main_string = cpp_main_string + "G";}
if(event.key.keysym.sym == SDLK_h) {cpp_main_string = cpp_main_string + "H";}
if(event.key.keysym.sym == SDLK_i) {cpp_main_string = cpp_main_string + "I";}
if(event.key.keysym.sym == SDLK_j) {cpp_main_string = cpp_main_string + "J";}
if(event.key.keysym.sym == SDLK_k) {cpp_main_string = cpp_main_string + "K";}
if(event.key.keysym.sym == SDLK_l) {cpp_main_string = cpp_main_string + "L";}
if(event.key.keysym.sym == SDLK_m) {cpp_main_string = cpp_main_string + "M";}
if(event.key.keysym.sym == SDLK_n) {cpp_main_string = cpp_main_string + "N";}
if(event.key.keysym.sym == SDLK_o) {cpp_main_string = cpp_main_string + "O";}
if(event.key.keysym.sym == SDLK_p) {cpp_main_string = cpp_main_string + "P";}
if(event.key.keysym.sym == SDLK_q) {cpp_main_string = cpp_main_string + "Q";}
if(event.key.keysym.sym == SDLK_r) {cpp_main_string = cpp_main_string + "R";}
if(event.key.keysym.sym == SDLK_s) {cpp_main_string = cpp_main_string + "S";}
if(event.key.keysym.sym == SDLK_t) {cpp_main_string = cpp_main_string + "T";}
if(event.key.keysym.sym == SDLK_u) {cpp_main_string = cpp_main_string + "U";}
if(event.key.keysym.sym == SDLK_v) {cpp_main_string = cpp_main_string + "V";}
if(event.key.keysym.sym == SDLK_w) {cpp_main_string = cpp_main_string + "W";}
if(event.key.keysym.sym == SDLK_x) {cpp_main_string = cpp_main_string + "X";}
if(event.key.keysym.sym == SDLK_y) {cpp_main_string = cpp_main_string + "Y";}
if(event.key.keysym.sym == SDLK_z) {cpp_main_string = cpp_main_string + "Z";}
if(event.key.keysym.sym == SDLK_BACKQUOTE) {cpp_main_string = cpp_main_string + "`";}
if(event.key.keysym.sym == SDLK_1) {cpp_main_string = cpp_main_string + "1";}
if(event.key.keysym.sym == SDLK_2) {cpp_main_string = cpp_main_string + "2";}
if(event.key.keysym.sym == SDLK_3) {cpp_main_string = cpp_main_string + "3";}
if(event.key.keysym.sym == SDLK_4) {cpp_main_string = cpp_main_string + "4";}
if(event.key.keysym.sym == SDLK_5) {cpp_main_string = cpp_main_string + "5";}
if(event.key.keysym.sym == SDLK_6) {cpp_main_string = cpp_main_string + "6";}
if(event.key.keysym.sym == SDLK_7) {cpp_main_string = cpp_main_string + "7";}
if(event.key.keysym.sym == SDLK_8) {cpp_main_string = cpp_main_string + "8";}
if(event.key.keysym.sym == SDLK_9) {cpp_main_string = cpp_main_string + "9";}
if(event.key.keysym.sym == SDLK_0) {cpp_main_string = cpp_main_string + "0";}
if(event.key.keysym.sym == SDLK_MINUS) {cpp_main_string = cpp_main_string + "-";}
if(event.key.keysym.sym == SDLK_EQUALS) {cpp_main_string = cpp_main_string + "=";}
if(event.key.keysym.sym == SDLK_LEFTBRACKET) {cpp_main_string = cpp_main_string + "[";}
if(event.key.keysym.sym == SDLK_RIGHTBRACKET) {cpp_main_string = cpp_main_string + "]";}
if(event.key.keysym.sym == SDLK_BACKSLASH) {cpp_main_string = cpp_main_string + "\\";}
if(event.key.keysym.sym == SDLK_SEMICOLON) {cpp_main_string = cpp_main_string + ";";}
if(event.key.keysym.sym == SDLK_QUOTE) {cpp_main_string = cpp_main_string + "'";}
if(event.key.keysym.sym == SDLK_COMMA) {cpp_main_string = cpp_main_string + ",";}
if(event.key.keysym.sym == SDLK_PERIOD) {cpp_main_string = cpp_main_string + ".";}
if(event.key.keysym.sym == SDLK_SLASH) {cpp_main_string = cpp_main_string + "/";}
}
*/
else
{
if(event.key.keysym.sym == SDLK_a) {cpp_main_string = cpp_main_string + "a";}
if(event.key.keysym.sym == SDLK_b) {cpp_main_string = cpp_main_string + "b";}
if(event.key.keysym.sym == SDLK_c) {cpp_main_string = cpp_main_string + "c";}
if(event.key.keysym.sym == SDLK_d) {cpp_main_string = cpp_main_string + "d";}
if(event.key.keysym.sym == SDLK_e) {cpp_main_string = cpp_main_string + "e";}
if(event.key.keysym.sym == SDLK_f) {cpp_main_string = cpp_main_string + "f";}
if(event.key.keysym.sym == SDLK_g) {cpp_main_string = cpp_main_string + "g";}
if(event.key.keysym.sym == SDLK_h) {cpp_main_string = cpp_main_string + "h";}
if(event.key.keysym.sym == SDLK_i) {cpp_main_string = cpp_main_string + "i";}
if(event.key.keysym.sym == SDLK_j) {cpp_main_string = cpp_main_string + "j";}
if(event.key.keysym.sym == SDLK_k) {cpp_main_string = cpp_main_string + "k";}
if(event.key.keysym.sym == SDLK_l) {cpp_main_string = cpp_main_string + "l";}
if(event.key.keysym.sym == SDLK_m) {cpp_main_string = cpp_main_string + "m";}
if(event.key.keysym.sym == SDLK_n) {cpp_main_string = cpp_main_string + "n";}
if(event.key.keysym.sym == SDLK_o) {cpp_main_string = cpp_main_string + "o";}
if(event.key.keysym.sym == SDLK_p) {cpp_main_string = cpp_main_string + "p";}
if(event.key.keysym.sym == SDLK_q) {cpp_main_string = cpp_main_string + "q";}
if(event.key.keysym.sym == SDLK_r) {cpp_main_string = cpp_main_string + "r";}
if(event.key.keysym.sym == SDLK_s) {cpp_main_string = cpp_main_string + "s";}
if(event.key.keysym.sym == SDLK_t) {cpp_main_string = cpp_main_string + "t";}
if(event.key.keysym.sym == SDLK_u) {cpp_main_string = cpp_main_string + "u";}
if(event.key.keysym.sym == SDLK_v) {cpp_main_string = cpp_main_string + "v";}
if(event.key.keysym.sym == SDLK_w) {cpp_main_string = cpp_main_string + "w";}
if(event.key.keysym.sym == SDLK_x) {cpp_main_string = cpp_main_string + "x";}
if(event.key.keysym.sym == SDLK_y) {cpp_main_string = cpp_main_string + "y";}
if(event.key.keysym.sym == SDLK_z) {cpp_main_string = cpp_main_string + "z";}
if(event.key.keysym.sym == SDLK_BACKQUOTE) {cpp_main_string = cpp_main_string + "`";}
if(event.key.keysym.sym == SDLK_1) {cpp_main_string = cpp_main_string + "1";}
if(event.key.keysym.sym == SDLK_2) {cpp_main_string = cpp_main_string + "2";}
if(event.key.keysym.sym == SDLK_3) {cpp_main_string = cpp_main_string + "3";}
if(event.key.keysym.sym == SDLK_4) {cpp_main_string = cpp_main_string + "4";}
if(event.key.keysym.sym == SDLK_5) {cpp_main_string = cpp_main_string + "5";}
if(event.key.keysym.sym == SDLK_6) {cpp_main_string = cpp_main_string + "6";}
if(event.key.keysym.sym == SDLK_7) {cpp_main_string = cpp_main_string + "7";}
if(event.key.keysym.sym == SDLK_8) {cpp_main_string = cpp_main_string + "8";}
if(event.key.keysym.sym == SDLK_9) {cpp_main_string = cpp_main_string + "9";}
if(event.key.keysym.sym == SDLK_0) {cpp_main_string = cpp_main_string + "0";}
if(event.key.keysym.sym == SDLK_MINUS) {cpp_main_string = cpp_main_string + "-";}
if(event.key.keysym.sym == SDLK_EQUALS) {cpp_main_string = cpp_main_string + "=";}
if(event.key.keysym.sym == SDLK_LEFTBRACKET) {cpp_main_string = cpp_main_string + "[";}
if(event.key.keysym.sym == SDLK_RIGHTBRACKET) {cpp_main_string = cpp_main_string + "]";}
if(event.key.keysym.sym == SDLK_BACKSLASH) {cpp_main_string = cpp_main_string + "\\";}
if(event.key.keysym.sym == SDLK_SEMICOLON) {cpp_main_string = cpp_main_string + ";";}
if(event.key.keysym.sym == SDLK_QUOTE) {cpp_main_string = cpp_main_string + "'";}
if(event.key.keysym.sym == SDLK_COMMA) {cpp_main_string = cpp_main_string + ",";}
if(event.key.keysym.sym == SDLK_PERIOD) {cpp_main_string = cpp_main_string + ".";}
if(event.key.keysym.sym == SDLK_SLASH) {cpp_main_string = cpp_main_string + "/";}
}
if(event.key.keysym.sym == SDLK_SPACE) {cpp_main_string = cpp_main_string + " ";}
if(event.key.keysym.sym == SDLK_TAB) {cpp_main_string = cpp_main_string + " ";}
if(event.key.keysym.sym == SDLK_BACKSPACE)
{
i = strlen(((char*)cpp_main_string.c_str()));
i--;
cpp_main_string = cpp_main_string.substr(0,i);
}
return cpp_main_string;
}