[PATCH 1/1] 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 --- lib/efi_loader/efi_console.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c index 1fcaabe1c4..eab315cbd4 100644 --- a/lib/efi_loader/efi_console.c +++ b/lib/efi_loader/efi_console.c @@ -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,8 @@ static efi_status_t EFIAPI efi_cin_read_key_stroke_ex( next_key.key.unicode_char += 0x40; else next_key.key.unicode_char += 0x60; + case 0x1c ... 0x1f: + next_key.key.unicode_char += 0x40; } *key_data = next_key; key_available = false;

On Thu, 1 Sept 2022 at 16:59, Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
In the extended text input protocol support input of control letters 0x1c - 0x1f.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
lib/efi_loader/efi_console.c | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org
diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c index 1fcaabe1c4..eab315cbd4 100644 --- a/lib/efi_loader/efi_console.c +++ b/lib/efi_loader/efi_console.c @@ -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,8 @@ static efi_status_t EFIAPI efi_cin_read_key_stroke_ex( next_key.key.unicode_char += 0x40; else next_key.key.unicode_char += 0x60;
no break?
case 0x1c ... 0x1f:
next_key.key.unicode_char += 0x40; } *key_data = next_key; key_available = false;
-- 2.37.2

On 9/2/22 01:52, Simon Glass wrote:
On Thu, 1 Sept 2022 at 16:59, Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
In the extended text input protocol support input of control letters 0x1c - 0x1f.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
lib/efi_loader/efi_console.c | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org
diff --git a/lib/efi_loader/efi_console.c b/lib/efi_loader/efi_console.c index 1fcaabe1c4..eab315cbd4 100644 --- a/lib/efi_loader/efi_console.c +++ b/lib/efi_loader/efi_console.c @@ -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,8 @@ static efi_status_t EFIAPI efi_cin_read_key_stroke_ex( next_key.key.unicode_char += 0x40; else next_key.key.unicode_char += 0x60;
no break?
That needs fixing.
case 0x1c ... 0x1f:
next_key.key.unicode_char += 0x40; } *key_data = next_key; key_available = false;
-- 2.37.2
participants (2)
-
Heinrich Schuchardt
-
Simon Glass