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

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

View File

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

View File

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