]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
expo: Support handling any key in cedit
authorSimon Glass <sjg@chromium.org>
Mon, 2 Oct 2023 01:13:36 +0000 (19:13 -0600)
committerTom Rini <trini@konsulko.com>
Wed, 11 Oct 2023 19:43:55 +0000 (15:43 -0400)
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>
boot/cedit.c
include/menu.h

index bb194af77bdc492ebf98b9b6f551520cbcffaacf..407793aaddd412e7c5ca9dadb6034e22db43daa1 100644 (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)
index 64ce89b7d2633f33666ac1a087172f585564b39a..6571c39b1430f4a16ac78439163ab2bd55bc1b56 100644 (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,
 };
 
 /**