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>
This commit is contained in:
Simon Glass 2023-10-01 19:13:36 -06:00 committed by Tom Rini
parent 6d225ec0cc
commit 8579cb010d
2 changed files with 7 additions and 2 deletions

View File

@ -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)

View File

@ -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,
};
/**