menu: add KEY_PLUS, KEY_MINUS and KEY_SPACE handling

This is preparation to support menu-driven UEFI BootOrder
variable updated by KEY_PLUS, KEY_MINUS and KEY_SPACE.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
diff --git a/common/menu.c b/common/menu.c
index 3e876b5..0d19601 100644
--- a/common/menu.c
+++ b/common/menu.c
@@ -548,4 +548,13 @@
 	/* ^C was pressed */
 	if (c == 0x3)
 		*key = KEY_QUIT;
+
+	if (c == '+')
+		*key = KEY_PLUS;
+
+	if (c == '-')
+		*key = KEY_MINUS;
+
+	if (c == ' ')
+		*key = KEY_SPACE;
 }
diff --git a/include/menu.h b/include/menu.h
index e74616c..702aacb 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -48,6 +48,9 @@
 	KEY_DOWN,
 	KEY_SELECT,
 	KEY_QUIT,
+	KEY_PLUS,
+	KEY_MINUS,
+	KEY_SPACE,
 };
 
 void bootmenu_autoboot_loop(struct bootmenu_data *menu,