diff options
author | Simon Glass <sjg@chromium.org> | 2023-10-01 19:13:36 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-10-11 15:43:55 -0400 |
commit | 8579cb010d25a881b7ea082f8450d385b745f825 (patch) | |
tree | 449b3d0db8a7ac8e9433e5c71beb412f3c9a326d | |
parent | 6d225ec0cc5251c540164b4303261d29f0ade644 (diff) | |
download | u-boot-8579cb010d25a881b7ea082f8450d385b745f825.zip u-boot-8579cb010d25a881b7ea082f8450d385b745f825.tar.gz u-boot-8579cb010d25a881b7ea082f8450d385b745f825.tar.bz2 |
expo: Support handling any key in cedit
At present cedit only supports menu keys. For textline objects we need
to insert normal ASCII characters.
We also need to handle backspace, which is ASCII 9.
In fact, expo does not make use of all the menu keys, so partition
them accordingly and update the logic to support normal ASCII
characters, too.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | boot/cedit.c | 2 | ||||
-rw-r--r-- | include/menu.h | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/boot/cedit.c b/boot/cedit.c index bb194af..407793a 100644 --- a/boot/cedit.c +++ b/boot/cedit.c @@ -176,7 +176,7 @@ int cedit_run(struct expo *exp) key = 0; if (ichar) { key = bootmenu_conv_key(ichar); - if (key == BKEY_NONE) + if (key == BKEY_NONE || key >= BKEY_FIRST_EXTRA) key = ichar; } if (!key) diff --git a/include/menu.h b/include/menu.h index 64ce89b..6571c39 100644 --- a/include/menu.h +++ b/include/menu.h @@ -50,12 +50,17 @@ enum bootmenu_key { BKEY_DOWN, BKEY_SELECT, BKEY_QUIT, + BKEY_SAVE, + + /* 'extra' keys, which are used by menus but not cedit */ BKEY_PLUS, BKEY_MINUS, BKEY_SPACE, - BKEY_SAVE, BKEY_COUNT, + + /* Keys from here on are not used by cedit */ + BKEY_FIRST_EXTRA = BKEY_PLUS, }; /** |