Message ID | 20220901225923.49653-1-heinrich.schuchardt@canonical.com |
---|---|
State | Superseded, archived |
Headers | show |
Series | [1/1] efi_loader: support CTRL+\ - CTRL+_ | expand |
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 >>
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;
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(+)