UEFI terminal console keyboard type extend for Putty


Gao, Zhichao
 

Hi everyone,

Putty is a popular terminal console software in windows and it support various types of terminal keyboard type. I would like to add most of the type support. Here is the key map info. Hope to get comments. Here is the type and mapping table:
Putty function key map:
+=========+======+===========+=============+=============+=============+
| | EFI | | | | |
| | Scan | | | Normal | |
| KEY | Code | VT100+ | Xterm R6 | VT400 | Linux |
+=========+======+===========+=============+=============+=============+
| F1 | 0x0B | ESC O P | NONE | ESC [ 1 1 ~ | ESC [ [ A |
| F2 | 0x0C | ESC O Q | NONE | ESC [ 1 2 ~ | ESC [ [ B |
| F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C |
| F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 3 ~ | ESC [ [ D |
| F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E |
| F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ |
| F7 | 0x11 | ESC [ V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ |
| F8 | 0x12 | ESC [ W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ |
| F9 | 0x13 | ESC [ X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ |
| F10 | 0x14 | ESC [ Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ |
| Escape | 0x17 | ESC | ESC | ESC | ESC |
| F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 1 3 ~ |
| F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 1 4 ~ |
+=========+======+===========+=============+=============+=============+

For Xterm R6 F1 and F2, it is descripted as ESC+O+P and ESC+O+Q, but it doesn't work on UEFI shell. Same with the SCO mode. So I would ignore the unworkable key map.
Info refer to https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter4.html#config-funkeys

Thanks,
Zhichao


Liming Gao
 

Zhichao:
One clarification. What terminal type will be introduced? Xterm, VT400 and Linux?

Thanks
Liming
From: Gao, Zhichao
Sent: Friday, September 06, 2019 12:56 PM
To: rfc@edk2.groups.io
Cc: devel@edk2.groups.io; Gao, Liming <liming.gao@...>; Xu, Shiwei <shiwei.xu@...>
Subject: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Hi everyone,

Putty is a popular terminal console software in windows and it support various types of terminal keyboard type. I would like to add most of the type support. Here is the key map info. Hope to get comments. Here is the type and mapping table:
Putty function key map:
+=========+======+===========+=============+=============+=============+
| | EFI | | | | |
| | Scan | | | Normal | |
| KEY | Code | VT100+ | Xterm R6 | VT400 | Linux |
+=========+======+===========+=============+=============+=============+
| F1 | 0x0B | ESC O P | NONE | ESC [ 1 1 ~ | ESC [ [ A |
| F2 | 0x0C | ESC O Q | NONE | ESC [ 1 2 ~ | ESC [ [ B |
| F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C |
| F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 3 ~ | ESC [ [ D |
| F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E |
| F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ |
| F7 | 0x11 | ESC [ V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ |
| F8 | 0x12 | ESC [ W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ |
| F9 | 0x13 | ESC [ X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ |
| F10 | 0x14 | ESC [ Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ |
| Escape | 0x17 | ESC | ESC | ESC | ESC |
| F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 1 3 ~ |
| F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 1 4 ~ |
+=========+======+===========+=============+=============+=============+

For Xterm R6 F1 and F2, it is descripted as ESC+O+P and ESC+O+Q, but it doesn't work on UEFI shell. Same with the SCO mode. So I would ignore the unworkable key map.
Info refer to https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter4.html#config-funkeys

Thanks,
Zhichao


Gao, Zhichao
 

Liming,
All the three types will be introduced.

By the way, fix one typo 'F4' for VT400 map key should be 'ESC [ 1 4 ~'.
Thanks,
Zhichao

From: Gao, Liming
Sent: Friday, September 6, 2019 3:51 PM
To: Gao, Zhichao <zhichao.gao@...>; rfc@edk2.groups.io
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: RE: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Zhichao:
One clarification. What terminal type will be introduced? Xterm, VT400 and Linux?

Thanks
Liming
From: Gao, Zhichao
Sent: Friday, September 06, 2019 12:56 PM
To: rfc@edk2.groups.io<mailto:rfc@edk2.groups.io>
Cc: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Gao, Liming <liming.gao@...<mailto:liming.gao@...>>; Xu, Shiwei <shiwei.xu@...<mailto:shiwei.xu@...>>
Subject: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Hi everyone,

Putty is a popular terminal console software in windows and it support various types of terminal keyboard type. I would like to add most of the type support. Here is the key map info. Hope to get comments. Here is the type and mapping table:
Putty function key map:
+=========+======+===========+=============+=============+=============+
| | EFI | | | | |
| | Scan | | | Normal | |
| KEY | Code | VT100+ | Xterm R6 | VT400 | Linux |
+=========+======+===========+=============+=============+=============+
| F1 | 0x0B | ESC O P | NONE | ESC [ 1 1 ~ | ESC [ [ A |
| F2 | 0x0C | ESC O Q | NONE | ESC [ 1 2 ~ | ESC [ [ B |
| F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C |
| F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 3 ~ | ESC [ [ D |
| F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E |
| F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ |
| F7 | 0x11 | ESC [ V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ |
| F8 | 0x12 | ESC [ W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ |
| F9 | 0x13 | ESC [ X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ |
| F10 | 0x14 | ESC [ Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ |
| Escape | 0x17 | ESC | ESC | ESC | ESC |
| F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 1 3 ~ |
| F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 1 4 ~ |
+=========+======+===========+=============+=============+=============+

For Xterm R6 F1 and F2, it is descripted as ESC+O+P and ESC+O+Q, but it doesn't work on UEFI shell. Same with the SCO mode. So I would ignore the unworkable key map.
Info refer to https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter4.html#config-funkeys

Thanks,
Zhichao


Ni, Ray
 

Zhichao,
Can you please summarize what terminal types are supported by EDKII Terminal driver today and what you are going to add through this RFC?

For the newly added terminal types, where is the mapping defined in public space?

Thanks,
Ray

-----Original Message-----
From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Gao, Zhichao
Sent: Friday, September 6, 2019 12:56 AM
To: Gao, Liming <liming.gao@...>; rfc@edk2.groups.io
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: Re: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Liming,
All the three types will be introduced.

By the way, fix one typo 'F4' for VT400 map key should be 'ESC [ 1 4 ~'.
Thanks,
Zhichao

From: Gao, Liming
Sent: Friday, September 6, 2019 3:51 PM
To: Gao, Zhichao <zhichao.gao@...>; rfc@edk2.groups.io
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: RE: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Zhichao:
One clarification. What terminal type will be introduced? Xterm, VT400 and Linux?

Thanks
Liming
From: Gao, Zhichao
Sent: Friday, September 06, 2019 12:56 PM
To: rfc@edk2.groups.io<mailto:rfc@edk2.groups.io>
Cc: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Gao, Liming
<liming.gao@...<mailto:liming.gao@...>>; Xu, Shiwei <shiwei.xu@...<mailto:shiwei.xu@...>>
Subject: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Hi everyone,

Putty is a popular terminal console software in windows and it support various types of terminal keyboard type. I would
like to add most of the type support. Here is the key map info. Hope to get comments. Here is the type and mapping table:
Putty function key map:
+=========+======+===========+=============+=============+=============+
| | EFI | | | | |
| | Scan | | | Normal | |
| KEY | Code | VT100+ | Xterm R6 | VT400 | Linux |
+=========+======+===========+=============+=============+=============+
| F1 | 0x0B | ESC O P | NONE | ESC [ 1 1 ~ | ESC [ [ A |
| F2 | 0x0C | ESC O Q | NONE | ESC [ 1 2 ~ | ESC [ [ B |
| F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C |
| F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 3 ~ | ESC [ [ D |
| F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E |
| F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ |
| F7 | 0x11 | ESC [ V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ |
| F8 | 0x12 | ESC [ W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ |
| F9 | 0x13 | ESC [ X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ |
| F10 | 0x14 | ESC [ Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ |
| Escape | 0x17 | ESC | ESC | ESC | ESC |
| F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 1 3 ~ |
| F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 1 4 ~ |
+=========+======+===========+=============+=============+=============+

For Xterm R6 F1 and F2, it is descripted as ESC+O+P and ESC+O+Q, but it doesn't work on UEFI shell. Same with the SCO
mode. So I would ignore the unworkable key map.
Info refer to https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter4.html#config-funkeys

Thanks,
Zhichao



Ni, Ray
 

Another specific question: What's the meaning of "F1 and F2 don't work in UEFI Shell"? That sounds like a bug in Terminal driver.

-----Original Message-----
From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Ni, Ray
Sent: Friday, September 6, 2019 12:57 PM
To: rfc@edk2.groups.io; Gao, Zhichao <zhichao.gao@...>; Gao, Liming <liming.gao@...>
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: Re: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Zhichao,
Can you please summarize what terminal types are supported by EDKII Terminal driver today and what you are going to
add through this RFC?

For the newly added terminal types, where is the mapping defined in public space?

Thanks,
Ray


-----Original Message-----
From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Gao, Zhichao
Sent: Friday, September 6, 2019 12:56 AM
To: Gao, Liming <liming.gao@...>; rfc@edk2.groups.io
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: Re: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Liming,
All the three types will be introduced.

By the way, fix one typo 'F4' for VT400 map key should be 'ESC [ 1 4 ~'.
Thanks,
Zhichao

From: Gao, Liming
Sent: Friday, September 6, 2019 3:51 PM
To: Gao, Zhichao <zhichao.gao@...>; rfc@edk2.groups.io
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: RE: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Zhichao:
One clarification. What terminal type will be introduced? Xterm, VT400 and Linux?

Thanks
Liming
From: Gao, Zhichao
Sent: Friday, September 06, 2019 12:56 PM
To: rfc@edk2.groups.io<mailto:rfc@edk2.groups.io>
Cc: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Gao, Liming
<liming.gao@...<mailto:liming.gao@...>>; Xu, Shiwei <shiwei.xu@...<mailto:shiwei.xu@...>>
Subject: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Hi everyone,

Putty is a popular terminal console software in windows and it support various types of terminal keyboard type. I would
like to add most of the type support. Here is the key map info. Hope to get comments. Here is the type and mapping
table:
Putty function key map:
+=========+======+===========+=============+=============+=============+
| | EFI | | | | |
| | Scan | | | Normal | |
| KEY | Code | VT100+ | Xterm R6 | VT400 | Linux |
+=========+======+===========+=============+=============+=============+
| F1 | 0x0B | ESC O P | NONE | ESC [ 1 1 ~ | ESC [ [ A |
| F2 | 0x0C | ESC O Q | NONE | ESC [ 1 2 ~ | ESC [ [ B |
| F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C |
| F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 3 ~ | ESC [ [ D |
| F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E |
| F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ |
| F7 | 0x11 | ESC [ V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ |
| F8 | 0x12 | ESC [ W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ |
| F9 | 0x13 | ESC [ X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ |
| F10 | 0x14 | ESC [ Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ |
| Escape | 0x17 | ESC | ESC | ESC | ESC |
| F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 1 3 ~ |
| F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 1 4 ~ |
+=========+======+===========+=============+=============+=============+

For Xterm R6 F1 and F2, it is descripted as ESC+O+P and ESC+O+Q, but it doesn't work on UEFI shell. Same with the SCO
mode. So I would ignore the unworkable key map.
Info refer to https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter4.html#config-funkeys

Thanks,
Zhichao




Gao, Zhichao
 

-----Original Message-----
From: Ni, Ray
Sent: Saturday, September 7, 2019 4:35 AM
To: rfc@edk2.groups.io; Ni, Ray <ray.ni@...>; Gao, Zhichao
<zhichao.gao@...>; Gao, Liming <liming.gao@...>
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: RE: [edk2-rfc] UEFI terminal console keyboard type extend for Putty

Another specific question: What's the meaning of "F1 and F2 don't work in
UEFI Shell"? That sounds like a bug in Terminal driver.
My mistake, the key worked fine in uefi shell. The default type is VT100, and the ESC+O+P and ESC+O+Q sequence key is seem as F1 and F2.


-----Original Message-----
From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Ni, Ray
Sent: Friday, September 6, 2019 12:57 PM
To: rfc@edk2.groups.io; Gao, Zhichao <zhichao.gao@...>; Gao,
Liming <liming.gao@...>
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: Re: [edk2-rfc] UEFI terminal console keyboard type extend for
Putty

Zhichao,
Can you please summarize what terminal types are supported by EDKII
Terminal driver today and what you are going to add through this RFC?
For now it supported 5 types VT100, VT100+, PS ANSI, UTF8 and TTY Term. I am going to add the support of VT400, Linux and Xterm R6.
By the way the VT100+'s mapping is different with the spec, I would also extend its mapping.


For the newly added terminal types, where is the mapping defined in
public space?
https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter4.html#config-funkeys
Here define the mapping, but it is only for function key. And I would only add the support of function key.

Thanks,
Zhichao


Thanks,
Ray


-----Original Message-----
From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Gao,
Zhichao
Sent: Friday, September 6, 2019 12:56 AM
To: Gao, Liming <liming.gao@...>; rfc@edk2.groups.io
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: Re: [edk2-rfc] UEFI terminal console keyboard type extend
for Putty

Liming,
All the three types will be introduced.

By the way, fix one typo 'F4' for VT400 map key should be 'ESC [ 1 4 ~'.
Thanks,
Zhichao

From: Gao, Liming
Sent: Friday, September 6, 2019 3:51 PM
To: Gao, Zhichao <zhichao.gao@...>; rfc@edk2.groups.io
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: RE: [edk2-rfc] UEFI terminal console keyboard type extend
for Putty

Zhichao:
One clarification. What terminal type will be introduced? Xterm, VT400
and Linux?

Thanks
Liming
From: Gao, Zhichao
Sent: Friday, September 06, 2019 12:56 PM
To: rfc@edk2.groups.io<mailto:rfc@edk2.groups.io>
Cc: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Gao, Liming
<liming.gao@...<mailto:liming.gao@...>>; Xu, Shiwei
<shiwei.xu@...<mailto:shiwei.xu@...>>
Subject: [edk2-rfc] UEFI terminal console keyboard type extend for
Putty

Hi everyone,

Putty is a popular terminal console software in windows and it
support various types of terminal keyboard type. I would like to add
most of the type support. Here is the key map info. Hope to get
comments. Here is the type and mapping
table:
Putty function key map:
+=========+======+===========+=============+=============+
=============+
| | EFI | | | | |
| | Scan | | | Normal | |
| KEY | Code | VT100+ | Xterm R6 | VT400 | Linux |
+=========+======+===========+=============+=============+
=============+
| F1 | 0x0B | ESC O P | NONE | ESC [ 1 1 ~ | ESC [ [ A |
| F2 | 0x0C | ESC O Q | NONE | ESC [ 1 2 ~ | ESC [ [ B |
| F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C |
| F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 3 ~ | ESC [ [ D |
| F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E |
| F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ |
| F7 | 0x11 | ESC [ V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ |
| F8 | 0x12 | ESC [ W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ |
| F9 | 0x13 | ESC [ X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ |
| F10 | 0x14 | ESC [ Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ |
| Escape | 0x17 | ESC | ESC | ESC | ESC |
| F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 1 3 ~ |
| F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 1 4 ~ |

+=========+======+===========+=============+=============+
==========
===+

For Xterm R6 F1 and F2, it is descripted as ESC+O+P and ESC+O+Q, but
it doesn't work on UEFI shell. Same with the SCO mode. So I would ignore
the unworkable key map.
Info refer to
https://www.ssh.com/ssh/putty/putty-
manuals/0.68/Chapter4.html#confi
g-funkeys

Thanks,
Zhichao




Gao, Zhichao
 

-----Original Message-----
From: rfc@edk2.groups.io [mailto:rfc@edk2.groups.io] On Behalf Of Gao,
Zhichao
Sent: Monday, September 9, 2019 8:28 AM
To: Ni, Ray <ray.ni@...>; rfc@edk2.groups.io; Gao, Liming
<liming.gao@...>
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: Re: [edk2-rfc] UEFI terminal console keyboard type extend for Putty



-----Original Message-----
From: Ni, Ray
Sent: Saturday, September 7, 2019 4:35 AM
To: rfc@edk2.groups.io; Ni, Ray <ray.ni@...>; Gao, Zhichao
<zhichao.gao@...>; Gao, Liming <liming.gao@...>
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: RE: [edk2-rfc] UEFI terminal console keyboard type extend for
Putty

Another specific question: What's the meaning of "F1 and F2 don't work
in UEFI Shell"? That sounds like a bug in Terminal driver.
My mistake, the key worked fine in uefi shell. The default type is VT100, and
the ESC+O+P and ESC+O+Q sequence key is seem as F1 and F2.
Same with the SCO map. So I would add four type, they are XtermR6, Vt400, Linux and SCO.

+=========+======+===========+=============+=============+=============+=========+
| | EFI | | | | | |
| | Scan | | | Normal | | |
| KEY | Code | VT100+ | Xterm R6 | VT400 | Linux | SCO |
+=========+======+===========+=============+=============+=============+=========+
| F1 | 0x0B | ESC O P | ESC O P | ESC [ 1 1 ~ | ESC [ [ A | ESC [ M |
| F2 | 0x0C | ESC O Q | ESC O Q | ESC [ 1 2 ~ | ESC [ [ B | ESC [ N |
| F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C | ESC [ O |
| F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 4 ~ | ESC [ [ D | ESC [ P |
| F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E | ESC [ Q |
| F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ R |
| F7 | 0x11 | ESC [ V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ S |
| F8 | 0x12 | ESC [ W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ T |
| F9 | 0x13 | ESC [ X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ U |
| F10 | 0x14 | ESC [ Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ V |
| Escape | 0x17 | ESC | ESC | ESC | ESC | ESC
| F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ W |
| F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ X |
+=========+======+===========+=============+=============+=============+=========+
Thanks,
Zhichao



-----Original Message-----
From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Ni, Ray
Sent: Friday, September 6, 2019 12:57 PM
To: rfc@edk2.groups.io; Gao, Zhichao <zhichao.gao@...>; Gao,
Liming <liming.gao@...>
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: Re: [edk2-rfc] UEFI terminal console keyboard type extend
for Putty

Zhichao,
Can you please summarize what terminal types are supported by EDKII
Terminal driver today and what you are going to add through this RFC?
For now it supported 5 types VT100, VT100+, PS ANSI, UTF8 and TTY Term. I
am going to add the support of VT400, Linux and Xterm R6.
By the way the VT100+'s mapping is different with the spec, I would also
extend its mapping.


For the newly added terminal types, where is the mapping defined in
public space?
https://www.ssh.com/ssh/putty/putty-manuals/0.68/Chapter4.html#config-
funkeys
Here define the mapping, but it is only for function key. And I would only add
the support of function key.

Thanks,
Zhichao


Thanks,
Ray


-----Original Message-----
From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Gao,
Zhichao
Sent: Friday, September 6, 2019 12:56 AM
To: Gao, Liming <liming.gao@...>; rfc@edk2.groups.io
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: Re: [edk2-rfc] UEFI terminal console keyboard type extend
for Putty

Liming,
All the three types will be introduced.

By the way, fix one typo 'F4' for VT400 map key should be 'ESC [ 1 4 ~'.
Thanks,
Zhichao

From: Gao, Liming
Sent: Friday, September 6, 2019 3:51 PM
To: Gao, Zhichao <zhichao.gao@...>; rfc@edk2.groups.io
Cc: devel@edk2.groups.io; Xu, Shiwei <shiwei.xu@...>
Subject: RE: [edk2-rfc] UEFI terminal console keyboard type extend
for Putty

Zhichao:
One clarification. What terminal type will be introduced? Xterm,
VT400
and Linux?

Thanks
Liming
From: Gao, Zhichao
Sent: Friday, September 06, 2019 12:56 PM
To: rfc@edk2.groups.io<mailto:rfc@edk2.groups.io>
Cc: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Gao, Liming
<liming.gao@...<mailto:liming.gao@...>>; Xu, Shiwei
<shiwei.xu@...<mailto:shiwei.xu@...>>
Subject: [edk2-rfc] UEFI terminal console keyboard type extend for
Putty

Hi everyone,

Putty is a popular terminal console software in windows and it
support various types of terminal keyboard type. I would like to
add most of the type support. Here is the key map info. Hope to
get comments. Here is the type and mapping
table:
Putty function key map:
+=========+======+===========+=============+=============+
=============+
| | EFI | | | | |
| | Scan | | | Normal | |
| KEY | Code | VT100+ | Xterm R6 | VT400 | Linux |
+=========+======+===========+=============+=============+
=============+
| F1 | 0x0B | ESC O P | NONE | ESC [ 1 1 ~ | ESC [ [ A |
| F2 | 0x0C | ESC O Q | NONE | ESC [ 1 2 ~ | ESC [ [ B |
| F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C |
| F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 3 ~ | ESC [ [ D |
| F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E |
| F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ |
| F7 | 0x11 | ESC [ V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ |
| F8 | 0x12 | ESC [ W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ |
| F9 | 0x13 | ESC [ X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ |
| F10 | 0x14 | ESC [ Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ |
| Escape | 0x17 | ESC | ESC | ESC | ESC |
| F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 1 3 ~ |
| F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 1 4 ~ |

+=========+======+===========+=============+=============+
==========
===+

For Xterm R6 F1 and F2, it is descripted as ESC+O+P and ESC+O+Q,
but it doesn't work on UEFI shell. Same with the SCO mode. So I
would ignore
the unworkable key map.
Info refer to
https://www.ssh.com/ssh/putty/putty-
manuals/0.68/Chapter4.html#confi
g-funkeys

Thanks,
Zhichao