summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGao, Zhichao <zhichao.gao@intel.com>2019-09-27 09:08:31 +0800
committerLiming Gao <liming.gao@intel.com>2019-09-27 15:49:29 +0800
commite86664d2b03d0a84b8b952f3d5111424b3e9c916 (patch)
tree2a0a7482f26ed2ae5e4f335db24530bff74eff3e
parent6da405ebf6e946429953c56fcbc8f60abe1407de (diff)
downloadedk2-e86664d2b03d0a84b8b952f3d5111424b3e9c916.tar.gz
edk2-e86664d2b03d0a84b8b952f3d5111424b3e9c916.tar.bz2
edk2-e86664d2b03d0a84b8b952f3d5111424b3e9c916.zip
MdeModulePkg/TerminalDxe: Enhance the arrow keys support
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2219 First previous patch remove the VT100Plus's arrow keys' support. Add it back. The arrow keys would send ESC [A through to ESC [D. Add this support for the new introduced terminal type. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Zhichao Gao <zhichao.gao@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
-rw-r--r--MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c
index ac31f27984..f8c71f95c1 100644
--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c
@@ -1670,8 +1670,12 @@ UnicodeToEfiKey (
if (TerminalDevice->TerminalType == TerminalTypePcAnsi ||
TerminalDevice->TerminalType == TerminalTypeVt100 ||
- TerminalDevice->TerminalType == TerminalTypeVtUtf8 ||
- TerminalDevice->TerminalType == TerminalTypeTtyTerm ||
+ TerminalDevice->TerminalType == TerminalTypeVt100Plus ||
+ TerminalDevice->TerminalType == TerminalTypeVtUtf8 ||
+ TerminalDevice->TerminalType == TerminalTypeTtyTerm ||
+ TerminalDevice->TerminalType == TerminalTypeLinux ||
+ TerminalDevice->TerminalType == TerminalTypeXtermR6 ||
+ TerminalDevice->TerminalType == TerminalTypeVt400 ||
TerminalDevice->TerminalType == TerminalTypeSCO) {
switch (UnicodeChar) {
case 'A':