]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Console/TerminalDxe/Terminal.h
MdeModulePkg/TerminalDxe: Extend the terminal console support types
[mirror_edk2.git] / MdeModulePkg / Universal / Console / TerminalDxe / Terminal.h
index b2f0901fc167bfa941d61c3ab4517b7f21cb53a7..378ace13ceb30e798cca2189a8d5f68cc5555a3d 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Header file for Terminal driver.\r
 \r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
 Copyright (C) 2016 Silicon Graphics, Inc. All rights reserved.<BR>\r
 SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
@@ -81,7 +81,11 @@ typedef enum {
   TerminalTypeVt100,\r
   TerminalTypeVt100Plus,\r
   TerminalTypeVtUtf8,\r
-  TerminalTypeTtyTerm\r
+  TerminalTypeTtyTerm,\r
+  TerminalTypeLinux,\r
+  TerminalTypeXtermR6,\r
+  TerminalTypeVt400,\r
+  TerminalTypeSCO\r
 } TERMINAL_TYPE;\r
 \r
 typedef struct {\r
@@ -126,7 +130,9 @@ typedef struct {
 #define INPUT_STATE_LEFTOPENBRACKET       0x04\r
 #define INPUT_STATE_O                     0x08\r
 #define INPUT_STATE_2                     0x10\r
-#define INPUT_STATE_LEFTOPENBRACKET_2     0x20\r
+#define INPUT_STATE_LEFTOPENBRACKET_TTY   0x20\r
+#define INPUT_STATE_1                     0x40\r
+#define INPUT_STATE_LEFTOPENBRACKET_2ND   0x80\r
 \r
 #define RESET_STATE_DEFAULT               0x00\r
 #define RESET_STATE_ESC_R                 0x01\r
@@ -848,7 +854,8 @@ TerminalRemoveConsoleDevVariable (
 /**\r
   Build termial device path according to terminal type.\r
 \r
-  @param  TerminalType           The terminal type is PC ANSI, VT100, VT100+ or VT-UTF8.\r
+  @param  TerminalType           The terminal type is PC ANSI, VT100, VT100+, VT-UTF8, TTY-Term,\r
+                                 Linux, XtermR6, VT400 and SCO.\r
   @param  ParentDevicePath       Parent device path.\r
   @param  TerminalDevicePath     Returned terminal device path, if building successfully.\r
 \r
@@ -1209,6 +1216,28 @@ AnsiRawDataToUnicode (
   | F12     | 0x16 |           | ESC @    |          |\r
   +=========+======+===========+==========+==========+\r
 \r
+Putty function key map:\r
+  +=========+======+===========+=============+=============+=============+=========+\r
+  |         | EFI  |           |             |             |             |         |\r
+  |         | Scan |           |             |  Normal     |             |         |\r
+  |   KEY   | Code |  VT100+   | Xterm R6    |  VT400      | Linux       | SCO     |\r
+  +=========+======+===========+=============+=============+=============+=========+\r
+  | F1      | 0x0B | ESC O P   | ESC O P     | ESC [ 1 1 ~ | ESC [ [ A   | ESC [ M |\r
+  | F2      | 0x0C | ESC O Q   | ESC O Q     | ESC [ 1 2 ~ | ESC [ [ B   | ESC [ N |\r
+  | F3      | 0x0D | ESC O R   | ESC O R     | ESC [ 1 3 ~ | ESC [ [ C   | ESC [ O |\r
+  | F4      | 0x0E | ESC O S   | ESC O S     | ESC [ 1 4 ~ | ESC [ [ D   | ESC [ P |\r
+  | F5      | 0x0F | ESC O T   | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E   | ESC [ Q |\r
+  | F6      | 0x10 | ESC O U   | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ R |\r
+  | F7      | 0x11 | ESC O V   | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ S |\r
+  | F8      | 0x12 | ESC O W   | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ T |\r
+  | F9      | 0x13 | ESC O X   | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ U |\r
+  | F10     | 0x14 | ESC O Y   | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ V |\r
+  | Escape  | 0x17 | ESC       | ESC         | ESC         | ESC         | ESC     |\r
+  | F11     | 0x15 | ESC O Z   | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ W |\r
+  | F12     | 0x16 | ESC O [   | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ X |\r
+  +=========+======+===========+=============+=============+=============+=========+\r
+\r
+\r
   Special Mappings\r
   ================\r
   ESC R ESC r ESC R = Reset System\r