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 togglelights l
|
||||||
bind togglefps p
|
bind togglefps p
|
||||||
bind toggleconsole ~
|
bind toggleconsole ~
|
||||||
bind toggleconsole `
|
|
||||||
bind toggleconsole z
|
|
||||||
bind togglemouselook m
|
bind togglemouselook m
|
||||||
bind quickmouselook y
|
bind quickmouselook y
|
||||||
set turnspeed 0.02
|
set turnspeed 0.02
|
||||||
|
|||||||
124
src/main.cpp
124
src/main.cpp
@@ -337,6 +337,7 @@ LRESULT CALLBACK WndProc(HWND hWnd,
|
|||||||
{
|
{
|
||||||
if(level.showConsole)
|
if(level.showConsole)
|
||||||
{
|
{
|
||||||
|
//See if we need to hide the console
|
||||||
level.defaultPlayer[0].controls.toggleConsole.FirstPosition();
|
level.defaultPlayer[0].controls.toggleConsole.FirstPosition();
|
||||||
if(wParam == level.defaultPlayer[0].controls.toggleConsole.Retrieve())
|
if(wParam == level.defaultPlayer[0].controls.toggleConsole.Retrieve())
|
||||||
{
|
{
|
||||||
@@ -357,7 +358,7 @@ LRESULT CALLBACK WndProc(HWND hWnd,
|
|||||||
{
|
{
|
||||||
level.UpdateConsole('\n');
|
level.UpdateConsole('\n');
|
||||||
}
|
}
|
||||||
if(wParam == VK_SHIFT)
|
else if(wParam == VK_SHIFT)
|
||||||
{
|
{
|
||||||
keys[VK_SHIFT] = true;
|
keys[VK_SHIFT] = true;
|
||||||
}
|
}
|
||||||
@@ -369,6 +370,127 @@ LRESULT CALLBACK WndProc(HWND hWnd,
|
|||||||
{
|
{
|
||||||
level.UpdateConsole(VK_BACK);
|
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)))
|
else if(isalpha(uint8(wParam)))
|
||||||
{
|
{
|
||||||
if(keys[VK_SHIFT])
|
if(keys[VK_SHIFT])
|
||||||
|
|||||||
182
src/strmanip.cpp
182
src/strmanip.cpp
@@ -110,26 +110,82 @@ string KeyString(uint8 key)
|
|||||||
{
|
{
|
||||||
switch (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:
|
case VK_LBUTTON:
|
||||||
return "mouse1";
|
return "mouse1";
|
||||||
case VK_RBUTTON:
|
case VK_RBUTTON:
|
||||||
return "mouse2";
|
return "mouse2";
|
||||||
case VK_MBUTTON:
|
case VK_MBUTTON:
|
||||||
return "mouse3";
|
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:
|
case VK_F1:
|
||||||
return "f1";
|
return "f1";
|
||||||
case VK_F2:
|
case VK_F2:
|
||||||
@@ -154,6 +210,12 @@ string KeyString(uint8 key)
|
|||||||
return "f11";
|
return "f11";
|
||||||
case VK_F12:
|
case VK_F12:
|
||||||
return "f2";
|
return "f2";
|
||||||
|
case VK_NUMLOCK:
|
||||||
|
return "numlock";
|
||||||
|
case VK_SCROLL:
|
||||||
|
return "scroll";
|
||||||
|
case VK_SEPARATOR:
|
||||||
|
return "separator";
|
||||||
default:
|
default:
|
||||||
return "null";
|
return "null";
|
||||||
};
|
};
|
||||||
@@ -166,6 +228,8 @@ uint8 KeyName(std::string str)
|
|||||||
return VK_UP;
|
return VK_UP;
|
||||||
else if (str.substr(0,4) == "down")
|
else if (str.substr(0,4) == "down")
|
||||||
return VK_DOWN;
|
return VK_DOWN;
|
||||||
|
else if (str.substr(0,3) == "esc")
|
||||||
|
return VK_ESCAPE;
|
||||||
else if (str.substr(0,6) == "pageup")
|
else if (str.substr(0,6) == "pageup")
|
||||||
return VK_PRIOR;
|
return VK_PRIOR;
|
||||||
else if (str.substr(0,8) == "pagedown")
|
else if (str.substr(0,8) == "pagedown")
|
||||||
@@ -182,6 +246,69 @@ uint8 KeyName(std::string str)
|
|||||||
return VK_RBUTTON;
|
return VK_RBUTTON;
|
||||||
else if (str.substr(0,6) == "mouse3")
|
else if (str.substr(0,6) == "mouse3")
|
||||||
return VK_MBUTTON;
|
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
|
/*uncomment this to enable f1 as a mappable key
|
||||||
else if(str.substr(0,2) == "f1")
|
else if(str.substr(0,2) == "f1")
|
||||||
return VK_F1;
|
return VK_F1;
|
||||||
@@ -216,7 +343,32 @@ uint8 KeyName(std::string str)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
else
|
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)
|
string Right(string str, uint32 len)
|
||||||
|
|||||||
Reference in New Issue
Block a user