internal static void ShowMenu() { string mainNav = NavigationBar.mainNavBar; string settingsNav = NavigationBar.settingsNavBar; string keyNav = NavigationBar.keysNavBar; string combineNav = NavigationBar.combineKeysNavBar; string runCombineNav = NavigationBar.runCombineNavBar; ConsoleKeyInfo cki; string inputKey; bool band; do { Console.Clear(); Console.ResetColor(); Console.WriteLine($"{ mainNav }>>{ settingsNav }>>{ keyNav }>>{ combineNav }>>{ runCombineNav }>>"); Console.WriteLine("_____________________________________"); Console.WriteLine("\nHit Keyboard (Ctrl+Q to Quit)"); cki = Console.ReadKey(true); SetModifier(cki); inputKey = cki.Key.ToString(); if (FindKeyType.isSpecial(modifier)) { if (FindKeyType.isNormal(inputKey.ToLower())) { PrintCombinationKey.Print(modifier, inputKey.ToLower()); System.Threading.Thread.Sleep(1000); } } modifier = ""; band = ((cki.Modifiers & ConsoleModifiers.Control) != 0) && (cki.Key == ConsoleKey.Q); }while (!band); }
internal static void Print(string modifier, string key) { if (!container.combinedKeys.Contains($"{ modifier }+{ key }")) { if (FindKeyType.isSpecial(modifier)) { Console.ForegroundColor = ConsoleColor.Green; } Console.Write(modifier); Console.ResetColor(); Console.Write($"+{ key }"); container.combinedKeys.Add($"{ modifier }+{ key }"); container.keyedCombined[key][1] += 1; container.keyedCombined[modifier][1] += 1; } else { Console.ForegroundColor = ConsoleColor.Red; Console.Write($"{ modifier }+{ key }"); container.combinedKeys.Remove($"{ modifier }+{ key }"); container.keyedCombined[key][1] -= 1; container.keyedCombined[modifier][1] -= 1; } }