Fixed console to recognize almost all keyboard keys deemed reasonable.
This commit is contained in:
@@ -17,8 +17,6 @@ bind weapprev r
|
||||
bind togglelights l
|
||||
bind togglefps p
|
||||
bind toggleconsole ~
|
||||
bind toggleconsole `
|
||||
bind toggleconsole z
|
||||
bind togglemouselook m
|
||||
bind quickmouselook y
|
||||
set turnspeed 0.02
|
||||
|
||||
126
src/main.cpp
126
src/main.cpp
@@ -337,6 +337,7 @@ LRESULT CALLBACK WndProc(HWND hWnd,
|
||||
{
|
||||
if(level.showConsole)
|
||||
{
|
||||
//See if we need to hide the console
|
||||
level.defaultPlayer[0].controls.toggleConsole.FirstPosition();
|
||||
if(wParam == level.defaultPlayer[0].controls.toggleConsole.Retrieve())
|
||||
{
|
||||
@@ -352,12 +353,12 @@ LRESULT CALLBACK WndProc(HWND hWnd,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(wParam == VK_RETURN)
|
||||
{
|
||||
level.UpdateConsole('\n');
|
||||
}
|
||||
if(wParam == VK_SHIFT)
|
||||
else if(wParam == VK_SHIFT)
|
||||
{
|
||||
keys[VK_SHIFT] = true;
|
||||
}
|
||||
@@ -369,6 +370,127 @@ LRESULT CALLBACK WndProc(HWND hWnd,
|
||||
{
|
||||
level.UpdateConsole(VK_BACK);
|
||||
}
|
||||
else if(wParam == VK_OEM_1)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole(':');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole(';');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_2)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('?');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('/');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_3)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('~');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('`');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_4)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('{');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('[');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_5)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('|');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('\\');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_6)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('}');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole(']');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_7)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('\'');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('"');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_PERIOD)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('>');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('.,');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_PLUS)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('+');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('=');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_COMMA)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('<');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole(',');
|
||||
}
|
||||
}
|
||||
else if(wParam == VK_OEM_MINUS)
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
{
|
||||
level.UpdateConsole('_');
|
||||
}
|
||||
else
|
||||
{
|
||||
level.UpdateConsole('-,');
|
||||
}
|
||||
}
|
||||
else if(isalpha(uint8(wParam)))
|
||||
{
|
||||
if(keys[VK_SHIFT])
|
||||
|
||||
182
src/strmanip.cpp
182
src/strmanip.cpp
@@ -110,26 +110,82 @@ string KeyString(uint8 key)
|
||||
{
|
||||
switch (key)
|
||||
{
|
||||
case VK_UP:
|
||||
return "up";
|
||||
case VK_DOWN:
|
||||
return "down";
|
||||
case VK_LEFT:
|
||||
return "left";
|
||||
case VK_RIGHT:
|
||||
return "right";
|
||||
case VK_PRIOR:
|
||||
return "pageup";
|
||||
case VK_NEXT:
|
||||
return "pagedown";
|
||||
case VK_SPACE:
|
||||
return "space";
|
||||
case VK_LBUTTON:
|
||||
return "mouse1";
|
||||
case VK_RBUTTON:
|
||||
return "mouse2";
|
||||
case VK_MBUTTON:
|
||||
return "mouse3";
|
||||
case VK_TAB:
|
||||
return "tab";
|
||||
case VK_RETURN:
|
||||
return "enter";
|
||||
case VK_SHIFT:
|
||||
return "shift";
|
||||
case VK_CONTROL:
|
||||
return "control";
|
||||
case VK_PAUSE:
|
||||
return "pause";
|
||||
case VK_CAPITAL:
|
||||
return "capslock";
|
||||
case VK_ESCAPE:
|
||||
return "esc";
|
||||
case VK_SPACE:
|
||||
return "space";
|
||||
case VK_PRIOR:
|
||||
return "pageup";
|
||||
case VK_NEXT:
|
||||
return "pagedown";
|
||||
case VK_END:
|
||||
return "end";
|
||||
case VK_HOME:
|
||||
return "home";
|
||||
case VK_LEFT:
|
||||
return "left";
|
||||
case VK_UP:
|
||||
return "up";
|
||||
case VK_RIGHT:
|
||||
return "right";
|
||||
case VK_DOWN:
|
||||
return "down";
|
||||
case VK_INSERT:
|
||||
return "insert";
|
||||
case VK_DELETE:
|
||||
return "delete";
|
||||
case VK_LWIN:
|
||||
return "lwin";
|
||||
case VK_RWIN:
|
||||
return "rwin";
|
||||
case VK_APPS:
|
||||
return "apps";
|
||||
case VK_NUMPAD0:
|
||||
return "numpad0";
|
||||
case VK_NUMPAD1:
|
||||
return "numpad1";
|
||||
case VK_NUMPAD2:
|
||||
return "numpad2";
|
||||
case VK_NUMPAD3:
|
||||
return "numpad3";
|
||||
case VK_NUMPAD4:
|
||||
return "numpad4";
|
||||
case VK_NUMPAD5:
|
||||
return "numpad5";
|
||||
case VK_NUMPAD6:
|
||||
return "numpad6";
|
||||
case VK_NUMPAD7:
|
||||
return "numpad7";
|
||||
case VK_NUMPAD8:
|
||||
return "numpad8";
|
||||
case VK_NUMPAD9:
|
||||
return "numpad9";
|
||||
case VK_MULTIPLY:
|
||||
return "numpad*";
|
||||
case VK_ADD:
|
||||
return "numpad+";
|
||||
case VK_SUBTRACT:
|
||||
return "numpad-";
|
||||
case VK_DIVIDE:
|
||||
return "numpad/";
|
||||
case VK_F1:
|
||||
return "f1";
|
||||
case VK_F2:
|
||||
@@ -154,6 +210,12 @@ string KeyString(uint8 key)
|
||||
return "f11";
|
||||
case VK_F12:
|
||||
return "f2";
|
||||
case VK_NUMLOCK:
|
||||
return "numlock";
|
||||
case VK_SCROLL:
|
||||
return "scroll";
|
||||
case VK_SEPARATOR:
|
||||
return "separator";
|
||||
default:
|
||||
return "null";
|
||||
};
|
||||
@@ -166,6 +228,8 @@ uint8 KeyName(std::string str)
|
||||
return VK_UP;
|
||||
else if (str.substr(0,4) == "down")
|
||||
return VK_DOWN;
|
||||
else if (str.substr(0,3) == "esc")
|
||||
return VK_ESCAPE;
|
||||
else if (str.substr(0,6) == "pageup")
|
||||
return VK_PRIOR;
|
||||
else if (str.substr(0,8) == "pagedown")
|
||||
@@ -182,6 +246,69 @@ uint8 KeyName(std::string str)
|
||||
return VK_RBUTTON;
|
||||
else if (str.substr(0,6) == "mouse3")
|
||||
return VK_MBUTTON;
|
||||
else if (str.substr(0,4) == "home")
|
||||
return VK_HOME;
|
||||
else if (str.substr(0,3) == "end")
|
||||
return VK_END;
|
||||
else if (str.substr(0,3) == "tab")
|
||||
return VK_TAB;
|
||||
else if (str.substr(0,5) == "enter")
|
||||
return VK_RETURN;
|
||||
else if (str.substr(0,6) == "insert")
|
||||
return VK_INSERT;
|
||||
else if (str.substr(0,6) == "delete")
|
||||
return VK_DELETE;
|
||||
else if (str.substr(0,7) == "control")
|
||||
return VK_CONTROL;
|
||||
else if (str.substr(0,5) == "shift")
|
||||
return VK_SHIFT;
|
||||
else if (str.substr(0,7) == "numpad0")
|
||||
return VK_NUMPAD0;
|
||||
else if (str.substr(0,7) == "numpad1")
|
||||
return VK_NUMPAD1;
|
||||
else if (str.substr(0,7) == "numpad2")
|
||||
return VK_NUMPAD2;
|
||||
else if (str.substr(0,7) == "numpad3")
|
||||
return VK_NUMPAD3;
|
||||
else if (str.substr(0,7) == "numpad4")
|
||||
return VK_NUMPAD4;
|
||||
else if (str.substr(0,7) == "numpad5")
|
||||
return VK_NUMPAD5;
|
||||
else if (str.substr(0,7) == "numpad6")
|
||||
return VK_NUMPAD6;
|
||||
else if (str.substr(0,7) == "numpad7")
|
||||
return VK_NUMPAD7;
|
||||
else if (str.substr(0,7) == "numpad8")
|
||||
return VK_NUMPAD8;
|
||||
else if (str.substr(0,7) == "numpad9")
|
||||
return VK_NUMPAD9;
|
||||
else if (str.substr(0,9) == "separator")
|
||||
return VK_SEPARATOR;
|
||||
else if (str.substr(0,4) == "lwin")
|
||||
return VK_LWIN;
|
||||
else if (str.substr(0,4) == "rwin")
|
||||
return VK_RWIN;
|
||||
else if (str.substr(0,4) == "apps")
|
||||
return VK_APPS;
|
||||
else if (str.substr(0,7) == "numpad*")
|
||||
return VK_MULTIPLY;
|
||||
else if (str.substr(0,7) == "numpad+")
|
||||
return VK_ADD;
|
||||
else if (str.substr(0,7) == "numpad/")
|
||||
return VK_DIVIDE;
|
||||
else if (str.substr(0,7) == "numpad-")
|
||||
return VK_SUBTRACT;
|
||||
else if (str.substr(0,6) == "scroll")
|
||||
return VK_SCROLL;
|
||||
else if (str.substr(0,7) == "numlock")
|
||||
return VK_NUMLOCK;
|
||||
else if (str.substr(0,5) == "pause")
|
||||
return VK_PAUSE;
|
||||
else if (str.substr(0,8) == "capslock")
|
||||
return VK_CAPITAL;
|
||||
|
||||
|
||||
|
||||
/*uncomment this to enable f1 as a mappable key
|
||||
else if(str.substr(0,2) == "f1")
|
||||
return VK_F1;
|
||||
@@ -216,7 +343,32 @@ uint8 KeyName(std::string str)
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
return toupper(str[0]);
|
||||
{
|
||||
if(str[0] == '~' || str[0] == '`')
|
||||
return VK_OEM_3;
|
||||
else if (str[0] == '?' || str[0] == '/')
|
||||
return VK_OEM_2;
|
||||
else if (str[0] == '.' || str[0] == '>')
|
||||
return VK_OEM_PERIOD;
|
||||
else if (str[0] == '+' || str[0] == '=')
|
||||
return VK_OEM_PLUS;
|
||||
else if (str[0] == ';' || str[0] == ':')
|
||||
return VK_OEM_1;
|
||||
else if (str[0] == ',' || str[0] == '<')
|
||||
return VK_OEM_COMMA;
|
||||
else if (str[0] == '-' || str[0] == '_')
|
||||
return VK_OEM_MINUS;
|
||||
else if (str[0] == '[' || str[0] == '{')
|
||||
return VK_OEM_4;
|
||||
else if (str[0] == ']' || str[0] == '}')
|
||||
return VK_OEM_6;
|
||||
else if (str[0] == '\\' || str[0] == '|')
|
||||
return VK_OEM_5;
|
||||
else if (str[0] == '\'' || str[0] == '"')
|
||||
return VK_OEM_7;
|
||||
else
|
||||
return toupper(str[0]);
|
||||
}
|
||||
}
|
||||
|
||||
string Right(string str, uint32 len)
|
||||
|
||||
Reference in New Issue
Block a user