Fixed console to recognize almost all keyboard keys deemed reasonable.

This commit is contained in:
2003-10-26 04:19:34 -05:00
parent 6f0db4a3ad
commit 1b69486f3c
3 changed files with 291 additions and 19 deletions

View File

@@ -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])

View File

@@ -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)