diff mbox series

[1/1] efi_loader: support CTRL+\ - CTRL+_

Message ID 20220901225923.49653-1-heinrich.schuchardt@canonical.com
State Superseded, archived
Headers show
Series [1/1] efi_loader: support CTRL+\ - CTRL+_ | expand

Commit Message

Heinrich Schuchardt Sept. 1, 2022, 10:59 p.m. UTC
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(+)

Comments

Simon Glass Sept. 1, 2022, 11:52 p.m. UTC | #1
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
>
Heinrich Schuchardt Sept. 2, 2022, 12:33 a.m. UTC | #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
>>
diff mbox series

Patch

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;