The EFI console was designed so that it could map to common console devices. This appendix
explains how an EFI console could map to a VGA with PC AT 101/102, PCANSI, or ANSI X3.64
consoles.
B.1 SIMPLE_INPUT
Table B-1 gives examples of how an EFI scan code can be mapped to ANSI X3.64 terminal,
PCANSI terminal, or an AT 101/102 keyboard. PC ANSI terminals support an escape sequence
that begins with the ASCII character 0x1b and is followed by the ASCII character 0x5B, " [ ".
ASCII characters that define the control sequence that should be taken follow the escape sequence.
(The escape sequence does not contain spaces, but spaces are used in Table B-1 to ease the reading
of the table.) ANSI X3.64, when combined with ISO 6429, can be used to represent the same subset
of console support required by EFI. ANSI X3.64 uses a single character escape sequence CSI:
ASCII character 0x9B. ANSI X3.64 can optionally use the same two-character escape sequence
"ESC [ ". ANSI X3.64 and ISO 6429 support the same escape codes as PCANSI.
Table B-1.
EFI Scan Codes for SIMPLE_INPUT
EFI Scan Code
Description
0x00
Null scan code.
0x01
Move cursor up 1 row.
0x02
Move cursor down 1 row.
0x03
Move cursor right 1 column.
0x04
Move cursor left 1 column.
0x05
Home.
0x06
End.
0x07
Insert.
0x08
Delete.
0x09
Page Up.
0x0a
Page Down.
0x0b
Function 1.
0x0c
Function 2.
0x0d
Function 3.
Version 1.02
ANSI X3.64
PCANSI
Codes
Codes
N/A
N/A
CSI A
ESC [ A
CSI B
ESC [ B
CSI C
ESC [ C
CSI D
ESC [ D
CSI H
ESC [ H
CSI K
ESC [ K
CSI @
ESC [ @
CSI P
ESC [ P
CSI ?
ESC [ ?
CSI /
ESC [ /
CSI O P
ESC [ O P
CSI O Q
ESC [ O Q
CSI O w
ESC [ O w
12/12/00
B
Console
AT 101/102 Keyboard
Scan Codes
N/A
0xe0, 0x48
0xe0, 0x50
0xe0, 0x4d
0xe0, 0x4b
0xe0, 0x47
0xe0, 0x4f
0xe0, 0x52
0xe0, 0x53
0xe0, 0x49
0xe0, 0x51
0x3b
0x3c
0x3d
continued
333