efi_loader: support CTRL+\ - CTRL+_

In the extended text input protocol support input of control letters
0x1c - 0x1f.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Heinrich Schuchardt 2022-09-02 00:49:12 +02:00
parent 0b7b56d7d7
commit e053a144ca

View file

@ -994,6 +994,7 @@ static efi_status_t EFIAPI efi_cin_read_key_stroke_ex(
/*
* CTRL+A - CTRL+Z have to be signaled as a - z.
* SHIFT+CTRL+A - SHIFT+CTRL+Z have to be signaled as A - Z.
* CTRL+\ - CTRL+_ have to be signaled as \ - _.
*/
switch (next_key.key.unicode_char) {
case 0x01 ... 0x07:
@ -1006,6 +1007,9 @@ static efi_status_t EFIAPI efi_cin_read_key_stroke_ex(
next_key.key.unicode_char += 0x40;
else
next_key.key.unicode_char += 0x60;
break;
case 0x1c ... 0x1f:
next_key.key.unicode_char += 0x40;
}
*key_data = next_key;
key_available = false;