
source $prefix/keyboard.cfg.gz

submenu "Resolution Configuration" --class=debug_resolution {
    menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
        echo 'Return ...'
    }
    
    vt_update_cur_video_mode VT_CUR_MODE
    set vdid=0
    while [ $vdid -lt $VTOY_VIDEO_MODE_NUM ]; do
        vt_get_video_mode $vdid vtCurMode
        
        unset vtActive
        if [ "$vtCurMode" = "$VT_CUR_MODE" ]; then
            set vtActive="[*]"
        fi
        
        menuentry "$vtCurMode $vtActive" --class=debug_videomode VTOY_RUN_RET {
            terminal_output console
            set gfxmode=$1
            terminal_output gfxterm
        }

        vt_incr vdid 1
    done
}

submenu "Screen Display Mode" --class=debug_screen_mode {
    menuentry 'Force Text Mode' --class=debug_text_mode {
        terminal_output console
    }
    menuentry 'Force Graphics Mode' --class=debug_gui_mode {
        terminal_output gfxterm
    }
    menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
        echo 'Return ...'
    }
}

if [ "$grub_platform" != "pc" ]; then
    submenu 'Ventoy UEFI Utilities' --class=debug_util {
        menuentry 'Fixup Windows BlinitializeLibrary Failure' --class=debug_util_blinit {
            chainloader ${vtoy_path}/vtoyutil_${VTOY_EFI_ARCH}.efi env_param=${env_param} ${vtdebug_flag} feature=fix_windows_mmap
            boot
            echo -e "\npress ENTER to exit ..."
            read vtInputKey
        }

        menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
            echo 'Return ...'
        }
    }
fi


submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json {
    menuentry 'Check global control plugin configuration' --class=debug_control {
        set pager=1
        vt_check_plugin_json $vt_plugin_path control $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check theme plugin configuration' --class=debug_theme {
        set pager=1
        vt_check_plugin_json $vt_plugin_path theme $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check auto install plugin configuration' --class=debug_autoinstall {
        set pager=1
        vt_check_plugin_json $vt_plugin_path auto_install $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check persistence plugin configuration' --class=debug_persistence {
        set pager=1
        vt_check_plugin_json $vt_plugin_path persistence $vtoy_iso_part
        
        echo -e "\n############### dump persistence ###############"
        vt_dump_persistence
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check menu alias plugin configuration' --class=debug_menualias {
        set pager=1
        vt_check_plugin_json $vt_plugin_path menu_alias $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check menu class plugin configuration' --class=debug_menuclass {
        set pager=1
        vt_check_plugin_json $vt_plugin_path menu_class $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }  

    menuentry 'Check injection plugin configuration' --class=debug_injection {
        set pager=1
        vt_check_plugin_json $vt_plugin_path injection $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    } 

    menuentry 'Check auto memdisk plugin configuration' --class=debug_automemdisk {
        set pager=1
        vt_check_plugin_json $vt_plugin_path auto_memdisk $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }  

    menuentry 'Check image list plugin configuration' --class=debug_imagelist {
        set pager=1
        vt_check_plugin_json $vt_plugin_path image_list $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check image blacklist plugin configuration' --class=debug_imageblacklist {
        set pager=1
        vt_check_plugin_json $vt_plugin_path image_blacklist $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check boot conf replace plugin configuration' --class=debug_bootconf_replace {
        set pager=1
        vt_check_plugin_json $vt_plugin_path conf_replace $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check dud plugin configuration' --class=debug_dud {
        set pager=1
        vt_check_plugin_json $vt_plugin_path dud $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Check password plugin configuration' --class=debug_pwd {
        set pager=1
        vt_check_plugin_json $vt_plugin_path password $vtoy_iso_part
        
        echo -e "\npress ENTER to exit ..."
        read vtInputKey
        unset pager
    }
    
    menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
        echo 'Return ...'
    }
}


menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
    echo 'Return ...'
}
