System.TermInfoDriver.CreateKeyInfoFromInt C# (CSharp) Method

CreateKeyInfoFromInt() private method

private CreateKeyInfoFromInt ( int n, bool alt ) : ConsoleKeyInfo
n int
alt bool
return ConsoleKeyInfo
		ConsoleKeyInfo CreateKeyInfoFromInt (int n, bool alt)
		{
			char c = (char) n;
			ConsoleKey key = (ConsoleKey)n;
			bool shift = false;
			bool ctrl = false;

			switch (n){
			case 10:
				key = ConsoleKey.Enter;
				break;
			case 0x20:
				key = ConsoleKey.Spacebar;
				break;
			case 45:
				key = ConsoleKey.Subtract;
				break;
			case 43:
				key = ConsoleKey.Add;
				break;
			case 47:
				key = ConsoleKey.Divide;
				break;
			case 42:
				key = ConsoleKey.Multiply;
				break;
			case 8: case 9: case 12: case 13: case 19:
				/* Values in ConsoleKey */
				break;
			case 27:
				key = ConsoleKey.Escape;
				break;
				
			default:
				if (n >= 1 && n <= 26) {
					// For Ctrl-a to Ctrl-z.
					ctrl = true;
					key = ConsoleKey.A + n - 1;
				} else if (n >= 'a' && n <= 'z') {
					key = ConsoleKey.A - 'a' + n;
				} else if (n >= 'A' && n <= 'Z') {
					shift = true;
				} else if (n >= '0' && n <= '9') {
				} else
					key = 0;
				break;
			}

			return new ConsoleKeyInfo (c, key, shift, alt, ctrl);
		}