|
|
|
@ -48,10 +48,11 @@ int g_ventoy_suppress_esc = 0;
|
|
|
|
|
int g_ventoy_suppress_esc_default = 1;
|
|
|
|
|
int g_ventoy_menu_esc = 0;
|
|
|
|
|
int g_ventoy_fn_mutex = 0;
|
|
|
|
|
int g_ventoy_secondary_menu_on = 0;
|
|
|
|
|
int g_ventoy_terminal_output = 0;
|
|
|
|
|
|
|
|
|
|
#define VTOY_COMM_HOTKEY(cmdkey) \
|
|
|
|
|
if (0 == g_ventoy_fn_mutex) { \
|
|
|
|
|
if (0 == g_ventoy_fn_mutex && 0 == g_ventoy_secondary_menu_on) { \
|
|
|
|
|
cmdstr = grub_env_get(cmdkey); \
|
|
|
|
|
if (cmdstr) \
|
|
|
|
|
{ \
|
|
|
|
@ -933,70 +934,91 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
|
|
|
|
|
goto refresh;
|
|
|
|
|
case GRUB_TERM_KEY_F1:
|
|
|
|
|
case '1':
|
|
|
|
|
menu_fini ();
|
|
|
|
|
g_ventoy_memdisk_mode = 1 - g_ventoy_memdisk_mode;
|
|
|
|
|
g_ventoy_menu_refresh = 1;
|
|
|
|
|
goto refresh;
|
|
|
|
|
|
|
|
|
|
if (0 == g_ventoy_secondary_menu_on)
|
|
|
|
|
{
|
|
|
|
|
menu_fini ();
|
|
|
|
|
g_ventoy_memdisk_mode = 1 - g_ventoy_memdisk_mode;
|
|
|
|
|
g_ventoy_menu_refresh = 1;
|
|
|
|
|
goto refresh;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case (GRUB_TERM_CTRL | 'i'):
|
|
|
|
|
case 'i':
|
|
|
|
|
menu_fini ();
|
|
|
|
|
g_ventoy_iso_raw = 1 - g_ventoy_iso_raw;
|
|
|
|
|
g_ventoy_menu_refresh = 1;
|
|
|
|
|
goto refresh;
|
|
|
|
|
|
|
|
|
|
if (0 == g_ventoy_secondary_menu_on)
|
|
|
|
|
{
|
|
|
|
|
menu_fini ();
|
|
|
|
|
g_ventoy_iso_raw = 1 - g_ventoy_iso_raw;
|
|
|
|
|
g_ventoy_menu_refresh = 1;
|
|
|
|
|
goto refresh;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case (GRUB_TERM_CTRL | 'r'):
|
|
|
|
|
case 'r':
|
|
|
|
|
menu_fini ();
|
|
|
|
|
g_ventoy_grub2_mode = 1 - g_ventoy_grub2_mode;
|
|
|
|
|
g_ventoy_menu_refresh = 1;
|
|
|
|
|
goto refresh;
|
|
|
|
|
|
|
|
|
|
if (0 == g_ventoy_secondary_menu_on)
|
|
|
|
|
{
|
|
|
|
|
menu_fini ();
|
|
|
|
|
g_ventoy_grub2_mode = 1 - g_ventoy_grub2_mode;
|
|
|
|
|
g_ventoy_menu_refresh = 1;
|
|
|
|
|
goto refresh;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case (GRUB_TERM_CTRL | 'w'):
|
|
|
|
|
case 'w':
|
|
|
|
|
menu_fini ();
|
|
|
|
|
g_ventoy_wimboot_mode = 1 - g_ventoy_wimboot_mode;
|
|
|
|
|
g_ventoy_menu_refresh = 1;
|
|
|
|
|
goto refresh;
|
|
|
|
|
|
|
|
|
|
if (0 == g_ventoy_secondary_menu_on)
|
|
|
|
|
{
|
|
|
|
|
menu_fini ();
|
|
|
|
|
g_ventoy_wimboot_mode = 1 - g_ventoy_wimboot_mode;
|
|
|
|
|
g_ventoy_menu_refresh = 1;
|
|
|
|
|
goto refresh;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case (GRUB_TERM_CTRL | 'u'):
|
|
|
|
|
case 'u':
|
|
|
|
|
menu_fini ();
|
|
|
|
|
g_ventoy_iso_uefi_drv = 1 - g_ventoy_iso_uefi_drv;
|
|
|
|
|
g_ventoy_menu_refresh = 1;
|
|
|
|
|
goto refresh;
|
|
|
|
|
|
|
|
|
|
case (GRUB_TERM_CTRL | 'h'):
|
|
|
|
|
case 'h':
|
|
|
|
|
{
|
|
|
|
|
cmdstr = grub_env_get("VTOY_HELP_CMD");
|
|
|
|
|
if (cmdstr)
|
|
|
|
|
if (0 == g_ventoy_secondary_menu_on)
|
|
|
|
|
{
|
|
|
|
|
grub_script_execute_sourcecode(cmdstr);
|
|
|
|
|
while (grub_getkey() != GRUB_TERM_ESC)
|
|
|
|
|
;
|
|
|
|
|
menu_fini ();
|
|
|
|
|
g_ventoy_iso_uefi_drv = 1 - g_ventoy_iso_uefi_drv;
|
|
|
|
|
g_ventoy_menu_refresh = 1;
|
|
|
|
|
goto refresh;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (GRUB_TERM_CTRL | 'm'):
|
|
|
|
|
case 'm':
|
|
|
|
|
case (GRUB_TERM_CTRL | 'h'):
|
|
|
|
|
case 'h':
|
|
|
|
|
{
|
|
|
|
|
if (g_ventoy_cur_img_path)
|
|
|
|
|
if (0 == g_ventoy_secondary_menu_on)
|
|
|
|
|
{
|
|
|
|
|
grub_env_set("VTOY_CHKSUM_FILE_PATH", g_ventoy_cur_img_path);
|
|
|
|
|
cmdstr = grub_env_get("VTOY_CHKSUM_CMD");
|
|
|
|
|
cmdstr = grub_env_get("VTOY_HELP_CMD");
|
|
|
|
|
if (cmdstr)
|
|
|
|
|
{
|
|
|
|
|
menu_fini();
|
|
|
|
|
grub_script_execute_sourcecode(cmdstr);
|
|
|
|
|
while (grub_getkey() != GRUB_TERM_ESC)
|
|
|
|
|
;
|
|
|
|
|
menu_fini ();
|
|
|
|
|
goto refresh;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
grub_env_set("VTOY_CHKSUM_FILE_PATH", "X");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case (GRUB_TERM_CTRL | 'm'):
|
|
|
|
|
case 'm':
|
|
|
|
|
{
|
|
|
|
|
if (0 == g_ventoy_secondary_menu_on)
|
|
|
|
|
{
|
|
|
|
|
if (g_ventoy_cur_img_path)
|
|
|
|
|
{
|
|
|
|
|
grub_env_set("VTOY_CHKSUM_FILE_PATH", g_ventoy_cur_img_path);
|
|
|
|
|
cmdstr = grub_env_get("VTOY_CHKSUM_CMD");
|
|
|
|
|
if (cmdstr)
|
|
|
|
|
{
|
|
|
|
|
menu_fini();
|
|
|
|
|
grub_script_execute_sourcecode(cmdstr);
|
|
|
|
|
goto refresh;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
grub_env_set("VTOY_CHKSUM_FILE_PATH", "X");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|