]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Treat ASCII 0x7F as backspace for TtyTerm terminals
authorRoy Franz <roy.franz@linaro.org>
Thu, 9 Jul 2015 06:24:15 +0000 (06:24 +0000)
committerlersek <lersek@Edk2>
Thu, 9 Jul 2015 06:24:15 +0000 (06:24 +0000)
Treat ASCII 0x7F as backspace, rather than delete, for TTY terminals.  This
better matches the default Linux terminal settings that are used when connecting
to a simulated platform using xterm or a similar terminal program.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Roy Franz <roy.franz@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17896 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c

index 17a1244349d806069a7625b19dff5811458bb4c9..227df85f69086f1ad19d4e559168163e54f0dcc2 100644 (file)
@@ -1561,8 +1561,14 @@ UnicodeToEfiKey (
     }\r
 \r
     if (UnicodeChar == DEL) {\r
-      Key.ScanCode    = SCAN_DELETE;\r
-      Key.UnicodeChar = 0;\r
+      if (TerminalDevice->TerminalType == TTYTERMTYPE) {\r
+        Key.ScanCode    = SCAN_NULL;\r
+        Key.UnicodeChar = CHAR_BACKSPACE;\r
+      }\r
+      else {\r
+        Key.ScanCode    = SCAN_DELETE;\r
+        Key.UnicodeChar = 0;\r
+      }\r
     } else {\r
       Key.ScanCode    = SCAN_NULL;\r
       Key.UnicodeChar = UnicodeChar;\r