diff --git a/Terminal.Gui/Resources/config.json b/Terminal.Gui/Resources/config.json index 8380a14f5..0db1533ce 100644 --- a/Terminal.Gui/Resources/config.json +++ b/Terminal.Gui/Resources/config.json @@ -18,7 +18,7 @@ "Application.AlternateBackwardKey": "Ctrl+PageUp", "Application.AlternateForwardKey": "Ctrl+PageDown", - "Application.QuitKey": "Ctrl+Q", + "Application.QuitKey": "Esc", "Application.IsMouseDisabled": false, "Theme": "Default", "Themes": [ diff --git a/UICatalog/Resources/config.json b/UICatalog/Resources/config.json index 2accf1b4d..342146a2d 100644 --- a/UICatalog/Resources/config.json +++ b/UICatalog/Resources/config.json @@ -1,6 +1,5 @@ { "$schema": "https://gui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json", - "Application.QuitKey": "Esc", "FileDialog.MaxSearchResults": 10000, "FileDialogStyle.DefaultUseColors": false, "FileDialogStyle.DefaultUseUnicodeCharacters": false, diff --git a/UnitTests/Application/KeyboardTests.cs b/UnitTests/Application/KeyboardTests.cs index 799163104..13f29a496 100644 --- a/UnitTests/Application/KeyboardTests.cs +++ b/UnitTests/Application/KeyboardTests.cs @@ -36,31 +36,32 @@ public class KeyboardTests Application.Begin (top); top.Running = true; - Assert.Equal (KeyCode.Q | KeyCode.CtrlMask, Application.QuitKey.KeyCode); - Application.Driver.SendKeys ('Q', ConsoleKey.Q, false, false, true); + Key prevKey = Application.QuitKey; + + Application.OnKeyDown (Application.QuitKey); Assert.True (isQuiting); isQuiting = false; - Application.OnKeyDown (Key.Q.WithCtrl); + Application.OnKeyDown (Application.QuitKey); Assert.True (isQuiting); isQuiting = false; Application.QuitKey = Key.C.WithCtrl; - Application.Driver.SendKeys ('Q', ConsoleKey.Q, false, false, true); + Application.OnKeyDown (prevKey); // Should not quit Assert.False (isQuiting); - Application.OnKeyDown (Key.Q.WithCtrl); + Application.OnKeyDown (Key.Q.WithCtrl);// Should not quit Assert.False (isQuiting); Application.OnKeyDown (Application.QuitKey); Assert.True (isQuiting); // Reset the QuitKey to avoid throws errors on another tests - Application.QuitKey = Key.Q.WithCtrl; + Application.QuitKey = prevKey; top.Dispose (); } [Fact] - public void QuitKey_Default_Is_CtrlQ () + public void QuitKey_Default_Is_Esc () { Application.ResetState (true); // Before Init @@ -68,7 +69,7 @@ public class KeyboardTests Application.Init (new FakeDriver ()); // After Init - Assert.Equal (Key.Q.WithCtrl, Application.QuitKey); + Assert.Equal (Key.Esc, Application.QuitKey); Application.Shutdown(); } @@ -397,6 +398,8 @@ public class KeyboardTests // Setup some fake keypresses (This) var input = "Tests"; + Key originalQuitKey = Application.QuitKey; + Application.QuitKey = Key.Q.WithCtrl; // Put a control-q in at the end FakeConsole.MockKeyPresses.Push (new ConsoleKeyInfo ('Q', ConsoleKey.Q, false, false, true)); @@ -458,6 +461,7 @@ public class KeyboardTests }; Application.Run (top); + Application.QuitKey = originalQuitKey; // Input string should match output Assert.Equal (input, output);