Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14065
-gerrit
commit 219c8fc4a1fc70d2b9cf76eca3410b2b4797a5c7 Author: Stefan Reinauer stefan.reinauer@coreboot.org Date: Fri Mar 11 23:17:28 2016 -0800
coreinfo: Allow numbers in addition to F keys
When using coreinfo on a serial console (at least with gtkterm, picocom and minicom on Ubuntu 15.10) you can't send F keys to the payload. Allow 1..9 for F1..F9
Change-Id: Ie3a11fa1de57c7345737a1ccaff177f407cd5e48 Signed-off-by: Stefan Reinauer stefan.reinauer@coreboot.org --- payloads/coreinfo/coreinfo.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/payloads/coreinfo/coreinfo.c b/payloads/coreinfo/coreinfo.c index effe94f..a7ed45e 100644 --- a/payloads/coreinfo/coreinfo.c +++ b/payloads/coreinfo/coreinfo.c @@ -251,6 +251,8 @@ static void loop(void) halfdelay(10);
while (1) { + int ch = -1; + #if IS_ENABLED(CONFIG_SHOW_DATE_TIME) print_time_and_date(); wrefresh(menuwin); @@ -261,20 +263,21 @@ static void loop(void) if (key == ERR) continue;
- if (key >= KEY_F(1) && key <= KEY_F(9)) { - unsigned char ch = key - KEY_F(1); - - if (ch <= ARRAY_SIZE(categories)) { - if (ch == ARRAY_SIZE(categories)) - continue; - if (categories[ch].count == 0) - continue; + if (key >= KEY_F(1) && key <= KEY_F(9)) + ch = key - KEY_F(1); + if (key >= '1' && key <= '9') + ch = key - '1';
- curwin = ch; - print_submenu(&categories[curwin]); - redraw_module(&categories[curwin]); + if (ch >= 0 && ch <= ARRAY_SIZE(categories)) { + if (ch == ARRAY_SIZE(categories)) + continue; + if (categories[ch].count == 0) continue; - } + + curwin = ch; + print_submenu(&categories[curwin]); + redraw_module(&categories[curwin]); + continue; }
if (key == KEY_ESC)