浏览代码

Textfield backspace remove char not working on wsl

Nick Van Dyck 7 年之前
父节点
当前提交
a749030549
共有 2 个文件被更改,包括 9 次插入0 次删除
  1. 1 0
      Terminal.Gui/Driver.cs
  2. 8 0
      Terminal.Gui/Views/TextField.cs

+ 1 - 0
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;
 			}
 		}

+ 8 - 0
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;