public static Keyboard.Key StringToKey(string str)
{
switch (str)
{
case "A":
return Keyboard.Key.A;
case "B":
return Keyboard.Key.B;
case "C":
return Keyboard.Key.C;
case "D":
return Keyboard.Key.D;
case "E":
return Keyboard.Key.E;
case "F":
return Keyboard.Key.F;
case "G":
return Keyboard.Key.G;
case "H":
return Keyboard.Key.H;
case "I":
return Keyboard.Key.I;
case "J":
return Keyboard.Key.J;
case "K":
return Keyboard.Key.K;
case "L":
return Keyboard.Key.L;
case "M":
return Keyboard.Key.M;
case "N":
return Keyboard.Key.N;
case "O":
return Keyboard.Key.O;
case "P":
return Keyboard.Key.P;
case "Q":
return Keyboard.Key.Q;
case "R":
return Keyboard.Key.R;
case "S":
return Keyboard.Key.S;
case "T":
return Keyboard.Key.T;
case "U":
return Keyboard.Key.U;
case "V":
return Keyboard.Key.V;
case "W":
return Keyboard.Key.W;
case "X":
return Keyboard.Key.X;
case "Y":
return Keyboard.Key.Y;
case "Z":
return Keyboard.Key.Z;
case "0":
case "NUM0":
return Keyboard.Key.Num0;
case "1":
case "NUM1":
return Keyboard.Key.Num1;
case "2":
case "NUM2":
return Keyboard.Key.Num2;
case "3":
case "NUM3":
return Keyboard.Key.Num3;
case "4":
case "NUM4":
return Keyboard.Key.Num4;
case "5":
case "NUM5":
return Keyboard.Key.Num5;
case "6":
case "NUM6":
return Keyboard.Key.Num6;
case "7":
case "NUM7":
return Keyboard.Key.Num7;
case "8":
case "NUM8":
return Keyboard.Key.Num8;
case "9":
case "NUM9":
return Keyboard.Key.Num9;
case "ESCAPE":
case "ESC":
return Keyboard.Key.Escape;
case "LCONTROL":
case "CONTROL":
case "CTRL":
return Keyboard.Key.LControl;
case "LSHIFT":
case "SHIFT":
return Keyboard.Key.LShift;
case "LALT":
case "ALT":
return Keyboard.Key.LAlt;
case "LSYSTEM":
return Keyboard.Key.LSystem;
case "RCTRL":
return Keyboard.Key.RControl;
case "RSHIFT":
return Keyboard.Key.RShift;
case "RALT":
return Keyboard.Key.RAlt;
case "RSYSTEM":
return Keyboard.Key.RSystem;
case "MENU":
return Keyboard.Key.Menu;
case "LBRACKET":
case "[":
case "{":
return Keyboard.Key.LBracket;
case "RBRACKET":
case "]":
case "}":
return Keyboard.Key.RBracket;
case "SEMICOLON":
case ";":
case ":":
return Keyboard.Key.SemiColon;
case "COMMA":
case "<":
return Keyboard.Key.Comma;
case "PERIOD":
case ">":
case ".":
return Keyboard.Key.Period;
case "QUOTE":
case "\"":
case "'":
return Keyboard.Key.Quote;
case "SLASH":
case "?":
case "/":
case "QUESTION":
return Keyboard.Key.Slash;
case "BACKSLASH":
case "|":
case "\\":
return Keyboard.Key.BackSlash;
case "TILDE":
case "~":
case "`":
return Keyboard.Key.Tilde;
case "EQUAL":
case "PLUS":
case "=":
return Keyboard.Key.Equal;
case "DASH":
case "MINUS":
case "_":
case "-":
return Keyboard.Key.Dash;
case "SPACE":
return Keyboard.Key.Space;
case "RETURN":
return Keyboard.Key.Return;
case "BACK":
case "BACKSPACE":
return Keyboard.Key.BackSpace;
case "TAB":
return Keyboard.Key.Tab;
case "PAGEUP":
case "PGUP":
return Keyboard.Key.PageUp;
case "PAGEDOWN":
case "PGDOWN":
case "NEXT":
return Keyboard.Key.PageDown;
case "END":
return Keyboard.Key.End;
case "HOME":
return Keyboard.Key.Home;
case "INSERT":
case "INS":
return Keyboard.Key.Insert;
case "DELETE":
case "DEL":
case "DECIMAL":
return Keyboard.Key.Delete;
case "ADD":
return Keyboard.Key.Add;
case "SUBTRACT":
return Keyboard.Key.Subtract;
case "MULTIPLY":
return Keyboard.Key.Multiply;
case "DIVIDE":
return Keyboard.Key.Divide;
case "LEFT":
return Keyboard.Key.Left;
case "RIGHT":
return Keyboard.Key.Right;
case "UP":
return Keyboard.Key.Up;
case "DOWN":
return Keyboard.Key.Down;
case "NUMPAD0":
return Keyboard.Key.Numpad0;
case "NUMPAD1":
return Keyboard.Key.Numpad1;
case "NUMPAD2":
return Keyboard.Key.Numpad2;
case "NUMPAD3":
return Keyboard.Key.Numpad3;
case "NUMPAD4":
return Keyboard.Key.Numpad4;
case "NUMPAD5":
return Keyboard.Key.Numpad5;
case "NUMPAD6":
return Keyboard.Key.Numpad6;
case "NUMPAD7":
return Keyboard.Key.Numpad7;
case "NUMPAD8":
return Keyboard.Key.Numpad8;
case "NUMPAD9":
return Keyboard.Key.Numpad9;
case "F1":
return Keyboard.Key.F1;
case "F2":
return Keyboard.Key.F2;
case "F3":
return Keyboard.Key.F3;
case "F4":
return Keyboard.Key.F4;
case "F5":
return Keyboard.Key.F5;
case "F6":
return Keyboard.Key.F6;
case "F7":
return Keyboard.Key.F7;
case "F8":
return Keyboard.Key.F8;
case "F9":
return Keyboard.Key.F9;
case "F10":
return Keyboard.Key.F10;
case "F11":
return Keyboard.Key.F11;
case "F12":
return Keyboard.Key.F12;
case "F13":
return Keyboard.Key.F13;
case "F14":
return Keyboard.Key.F14;
case "F15":
return Keyboard.Key.F15;
case "PAUSE":
return Keyboard.Key.Pause;
}
return Keyboard.Key.Unknown;
}