From a74903054983b620acd83c516b7f6019f5194c52 Mon Sep 17 00:00:00 2001 From: Nick Van Dyck Date: Sat, 5 May 2018 21:51:12 +0100 Subject: [PATCH] Textfield backspace remove char not working on wsl --- Terminal.Gui/Driver.cs | 1 + Terminal.Gui/Views/TextField.cs | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/Terminal.Gui/Driver.cs b/Terminal.Gui/Driver.cs index 4302e55c6..cbbaa3870 100644 --- a/Terminal.Gui/Driver.cs +++ b/Terminal.Gui/Driver.cs @@ -566,6 +566,7 @@ namespace Terminal.Gui { case Curses.KeyDeleteChar: return Key.DeleteChar; case Curses.KeyInsertChar: return Key.InsertChar; case Curses.KeyBackTab: return Key.BackTab; + case Curses.KeyBackspace: return Key.Backspace; default: return Key.Unknown; } } diff --git a/Terminal.Gui/Views/TextField.cs b/Terminal.Gui/Views/TextField.cs index 5c70a7c3b..1c990505e 100644 --- a/Terminal.Gui/Views/TextField.cs +++ b/Terminal.Gui/Views/TextField.cs @@ -160,6 +160,14 @@ namespace Terminal.Gui { { switch (kb.Key) { case Key.Delete: + case Key.DeleteChar: + if (text.Length == 0 || text.Length == point) + return true; + + SetText (text [0, point] + text [point + 1, null]); + Adjust (); + break; + case Key.Backspace: if (point == 0) return true;