aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-10-01 19:13:36 -0600
committerTom Rini <trini@konsulko.com>2023-10-11 15:43:55 -0400
commit8579cb010d25a881b7ea082f8450d385b745f825 (patch)
tree449b3d0db8a7ac8e9433e5c71beb412f3c9a326d
parent6d225ec0cc5251c540164b4303261d29f0ade644 (diff)
downloadu-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.c2
-rw-r--r--include/menu.h7
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,
};
/**