audk/MdeModulePkg
Roy Franz 014f93acab Accept VT220 DEL and function keys for TTY terminal type
Accept the VT220 escape code [3~ as backspace for TtyTerm terminals.  This is
sent by many Linux terminals by default.  Also accept VT220 function keys
F1-F12, and VT100 F1-F4 keys as these are commonly sent by Linux terminals.
The VT220 escape codes are longer, and variable length so a new state is added
to the state machine along with a variable to construct the multibyte escape
sequence.
There are currently no ambiguous escape sequence prefixes accepted, so the TTY
terminal accepts escape sequences for a variety of terminals.  The goal is to
'just work' with as many terminals as possible, rather than properly emulating
any specific terminal.  Backspace, Del, and F10 have been tested on xterm,
rxvt, tmux, and screen.
Note: The existing vt100 function key handling does not match the vt100
documentation that I found, so I added the TTY terminal handling
of VT100 F1-F4 (really PF1-PF4 on vt100) separately.  The vt100
has no F5-F10 keys, so I don't know what the current vt100 code
is based on.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Roy Franz <roy.franz@linaro.org>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17897 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-09 06:24:20 +00:00
..
Application MdeModulePkg: Refine code to use Strn**S safe functions instead of Str**S ones in some cases. 2015-07-08 01:08:09 +00:00
Bus MdeModulePkg/XhciPei: Error handling enhancement for XhcPeiExecTransfer 2015-07-08 05:54:44 +00:00
Core MdeModulePkg: Refine code to make it more readable. 2015-07-03 01:39:06 +00:00
Include Add "TtyTerm" terminal type to TerminalDxe 2015-07-09 06:24:11 +00:00
Library MdeModulePkg: Replace unsafe string functions. 2015-07-08 06:35:37 +00:00
Logo MdeModulePkg: Convert non DOS format files to DOS format and remove unused module UNI files. 2014-09-03 08:39:12 +00:00
Universal Accept VT220 DEL and function keys for TTY terminal type 2015-07-09 06:24:20 +00:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
License.txt Update copyright format 2012-04-24 06:49:39 +00:00
MdeModulePkg.dec Add "TtyTerm" terminal type to TerminalDxe 2015-07-09 06:24:11 +00:00
MdeModulePkg.dsc MdeModulePkg: Add AuthVariableLib LibraryClass 2015-07-01 03:04:18 +00:00
MdeModulePkg.uni MdeModulePkg: Add PcdMaxAuthVariableSize declaration. 2015-06-10 07:51:16 +00:00
MdeModulePkgExtra.uni MdeModulePkg: INF/DEC file updates to EDK II packages 2014-08-28 06:55:48 +00:00