summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/include/vboot_api.h1
-rw-r--r--firmware/lib/vboot_api_kernel.c13
2 files changed, 7 insertions, 7 deletions
diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h
index eea39220..9aa7f0ad 100644
--- a/firmware/include/vboot_api.h
+++ b/firmware/include/vboot_api.h
@@ -578,7 +578,6 @@ enum VbKeyCode_t {
VB_KEY_LEFT = 0x102,
VB_KEY_RIGHT = 0x103,
VB_KEY_CTRL_ENTER = 0x104,
- VB_KEY_CTRL_REFRESH = 0x105
};
/* Read the next keypress from the keyboard buffer.
diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c
index 54c5bec2..9c5dd7f4 100644
--- a/firmware/lib/vboot_api_kernel.c
+++ b/firmware/lib/vboot_api_kernel.c
@@ -149,11 +149,11 @@ VbError_t VbBootDeveloper(VbCommonParams* cparams, LoadKernelParams* p) {
case 0:
/* nothing pressed */
break;
+ case '\r':
case ' ':
case 0x1B:
- case VB_KEY_CTRL_REFRESH:
- /* Space, or ESC = request disable dev. Ctrl+F3 is used for testing. */
- VBDEBUG(("VbBootDeveloper() - user pressed SPACE/ESC/CTRL_F3\n"));
+ /* Enter, space, or ESC = reboot to recovery */
+ VBDEBUG(("VbBootDeveloper() - user pressed ENTER/SPACE/ESC\n"));
VbSetRecoveryRequest(VBNV_RECOVERY_RW_DEV_SCREEN);
VbAudioClose(audio);
return VBERROR_LOAD_KERNEL_RECOVERY;
@@ -223,16 +223,17 @@ static VbError_t VbConfirmChangeDevMode(VbCommonParams* cparams, int to_dev) {
while (1) {
if (VbExIsShutdownRequested())
return VBERROR_SHUTDOWN_REQUESTED;
- /* ENTER is always yes, ESC and SPACE are always no. */
+ /* ENTER is always yes, ESC is always no.
+ * SPACE is yes when leaving dev-mode, but is no when entering it. */
key = VbExKeyboardRead();
- if (key == '\r') {
+ if (key == '\r' || (key == ' ' && !to_dev)) {
VBDEBUG(("%s() - Yes: virtual dev-mode switch => %d\n",
__func__, to_dev));
if (TPM_SUCCESS != SetVirtualDevMode(to_dev))
return VBERROR_TPM_SET_BOOT_MODE_STATE;
VBDEBUG(("%s() - Reboot so it will take effect\n", __func__));
return VBERROR_TPM_REBOOT_REQUIRED;
- } else if (key == 0x1B || key == ' ') {
+ } else if (key == 0x1B || (key == ' ' && to_dev)) {
VBDEBUG(("%s() - No: don't change virtual dev-mode switch\n", __func__));
VbDisplayScreen(cparams, VB_SCREEN_RECOVERY_INSERT, 0, &vnc);
return VBERROR_SUCCESS;