PowerArgs.StdConsoleProvider.CreateKeyMap C# (CSharp) Method

CreateKeyMap() private static method

private static CreateKeyMap ( ) : ConsoleKeyInfo>.Dictionary
return ConsoleKeyInfo>.Dictionary
        private static Dictionary<char, ConsoleKeyInfo> CreateKeyMap()
        {
            Dictionary<char, ConsoleKeyInfo> ret = new Dictionary<char, ConsoleKeyInfo>();

            for(int i = (int)'a'; i <= 'z'; i++)
            {
                var c = (char)i;
                var enumKey = Char.ToUpperInvariant(c)+"";
                var enumValue = (ConsoleKey)Enum.Parse(typeof(ConsoleKey), enumKey);
                ret.Add(c, new ConsoleKeyInfo(c, enumValue, false, false, false));
            }

            for (int i = (int)'A'; i <= 'Z'; i++)
            {
                var c = (char)i;
                var enumKey = c + "";
                var enumValue = (ConsoleKey)Enum.Parse(typeof(ConsoleKey), enumKey);
                ret.Add(c, new ConsoleKeyInfo(c, enumValue, true, false, false));
            }

            for (int i = (int)'0'; i <= '9'; i++)
            {
                var c = (char)i;
                var enumKey = "D"+c;
                var enumValue = (ConsoleKey)Enum.Parse(typeof(ConsoleKey), enumKey);
                ret.Add(c, new ConsoleKeyInfo(c, enumValue, false, false, false));
            }

            ret.Add('!', new ConsoleKeyInfo('!', ConsoleKey.D1, true, false, false));
            ret.Add('@', new ConsoleKeyInfo('@', ConsoleKey.D2, true, false, false));
            ret.Add('#', new ConsoleKeyInfo('#', ConsoleKey.D3, true, false, false));
            ret.Add('$', new ConsoleKeyInfo('$', ConsoleKey.D4, true, false, false));
            ret.Add('%', new ConsoleKeyInfo('%', ConsoleKey.D5, true, false, false));
            ret.Add('^', new ConsoleKeyInfo('^', ConsoleKey.D6, true, false, false));
            ret.Add('&', new ConsoleKeyInfo('&', ConsoleKey.D7, true, false, false));
            ret.Add('*', new ConsoleKeyInfo('*', ConsoleKey.D8, true, false, false));
            ret.Add('(', new ConsoleKeyInfo('(', ConsoleKey.D9, true, false, false));
            ret.Add(')', new ConsoleKeyInfo(')', ConsoleKey.D0, true, false, false));

            ret.Add(' ', new ConsoleKeyInfo(' ', ConsoleKey.Spacebar, false, false, false));
            ret.Add('-', new ConsoleKeyInfo('-', ConsoleKey.OemMinus, false, false, false));
            ret.Add('_', new ConsoleKeyInfo('_', ConsoleKey.OemMinus, true, false, false));
            ret.Add('=', new ConsoleKeyInfo('=', ConsoleKey.OemPlus, false, false, false));
            ret.Add('+', new ConsoleKeyInfo('+', ConsoleKey.OemPlus, true, false, false));

            ret.Add('.', new ConsoleKeyInfo('.', ConsoleKey.OemPeriod, false, false, false));
            ret.Add('>', new ConsoleKeyInfo('>', ConsoleKey.OemPeriod, true, false, false));

            ret.Add(',', new ConsoleKeyInfo(',', ConsoleKey.OemComma, false, false, false));
            ret.Add('<', new ConsoleKeyInfo('<', ConsoleKey.OemComma, true, false, false));

            ret.Add('\r', new ConsoleKeyInfo('\r', ConsoleKey.Enter, false, false, false));
            ret.Add('\n', new ConsoleKeyInfo('\n', ConsoleKey.Enter, false, false, false));

            return ret;
        }