From 488f71f116916549766d4df50d364dc3400c50ba Mon Sep 17 00:00:00 2001 From: Vladimir 'phcoder' Serbinenko Date: Wed, 5 Jan 2011 01:25:01 +0100 Subject: [PATCH] * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with CTRL. --- ChangeLog | 5 +++++ grub-core/term/terminfo.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 41241e7a0..0932ee7cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-01-05 Vladimir Serbinenko + + * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with + CTRL. + 2011-01-05 Vladimir Serbinenko The E820 type 5 is BADRAM, not EXEC_CODE. diff --git a/grub-core/term/terminfo.c b/grub-core/term/terminfo.c index d01811959..8450ea231 100644 --- a/grub-core/term/terminfo.c +++ b/grub-core/term/terminfo.c @@ -403,6 +403,8 @@ grub_terminfo_readkey (struct grub_term_input *term, int *keys, int *len, /* Backspace: Ctrl-h. */ if (c == 0x7f) c = '\b'; + if (c < 0x20 && c != '\t' && c!= '\b' && c != '\n' && c != '\r') + c = GRUB_TERM_CTRL | (c - 1 + 'a'); *len = 1; keys[0] = c; return;