Hotkey change:

1. Change F1 from Memdisk to help
2. Add d/Ctrl+d for Memdisk
3. Add L for Language selection

So update the help txt files and menu json files at the same time.
This commit is contained in:
longpanda 2022-12-03 13:44:46 +08:00
parent bda74cd89b
commit 25b055bb0f
21 changed files with 111 additions and 63 deletions

View File

@ -21,7 +21,7 @@ body:
attributes:
label: Ventoy Version
description: What version of ventoy are you running?
placeholder: 1.0.82
placeholder: 1.0.83
validations:
required: true
- type: dropdown

View File

@ -51,7 +51,29 @@ int g_ventoy_fn_mutex = 0;
int g_ventoy_secondary_menu_on = 0;
int g_ventoy_terminal_output = 0;
char g_ventoy_hotkey_tip[256];
int g_ventoy_virt_esc = 0;
static int g_vt_key_num = 0;
static int g_vt_key_code[128];
static int ventoy_menu_pop_key(void)
{
if (g_vt_key_num > 0 && g_vt_key_num < (int)(sizeof(g_vt_key_code) / sizeof(g_vt_key_code[0])))
{
g_vt_key_num--;
return g_vt_key_code[g_vt_key_num];
}
return -1;
}
int ventoy_menu_push_key(int code)
{
if (g_vt_key_num >= 0 && g_vt_key_num < (int)(sizeof(g_vt_key_code) / sizeof(g_vt_key_code[0])))
{
g_vt_key_code[g_vt_key_num++] = code;
return 0;
}
return -1;
}
#define VTOY_COMM_HOTKEY(cmdkey) \
if (0 == g_ventoy_fn_mutex && 0 == g_ventoy_secondary_menu_on) { \
@ -798,9 +820,8 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
return default_entry;
}
if (g_ventoy_virt_esc > 0) {
c = GRUB_TERM_ESC;
g_ventoy_virt_esc--;
if (g_vt_key_num > 0) {
c = ventoy_menu_pop_key();
} else {
c = grub_getkey_noblock ();
}
@ -941,6 +962,21 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
goto refresh;
case GRUB_TERM_KEY_F1:
case '1':
if (0 == g_ventoy_secondary_menu_on)
{
cmdstr = grub_env_get("VTOY_HELP_CMD");
if (cmdstr)
{
grub_script_execute_sourcecode(cmdstr);
while (grub_getkey() != GRUB_TERM_ESC)
;
menu_fini ();
goto refresh;
}
}
break;
case (GRUB_TERM_CTRL | 'd'):
case 'd':
if (0 == g_ventoy_secondary_menu_on)
{
menu_fini ();
@ -989,21 +1025,14 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
goto refresh;
}
break;
case (GRUB_TERM_CTRL | 'h'):
case 'h':
case (GRUB_TERM_CTRL | 'l'):
case (GRUB_TERM_CTRL | 'L'):
case (GRUB_TERM_SHIFT | 'l'):
case (GRUB_TERM_SHIFT | 'L'):
case 'l':
case 'L':
{
if (0 == g_ventoy_secondary_menu_on)
{
cmdstr = grub_env_get("VTOY_HELP_CMD");
if (cmdstr)
{
grub_script_execute_sourcecode(cmdstr);
while (grub_getkey() != GRUB_TERM_ESC)
;
menu_fini ();
goto refresh;
}
}
VTOY_COMM_HOTKEY("VTOY_LANG_CMD");
break;
}
case (GRUB_TERM_CTRL | 'm'):

View File

@ -1056,7 +1056,6 @@ extern int g_vhdboot_enable;
extern int g_default_menu_mode;
extern char g_ventoy_hotkey_tip[256];
extern int g_ventoy_menu_refresh;
extern int g_ventoy_virt_esc;
#define VENTOY_IMG_WHITE_LIST 1
#define VENTOY_IMG_BLACK_LIST 2
@ -1265,6 +1264,7 @@ void * ventoy_alloc_chain(grub_size_t size);
int ventoy_plugin_load_menu_lang(const char *lang);
const char *ventoy_get_vmenu_title(const char *vMenu);
grub_err_t ventoy_cmd_cur_menu_lang(grub_extcmd_context_t ctxt, int argc, char **args);
extern int ventoy_menu_push_key(int code);
#endif /* __VENTOY_DEF_H__ */

View File

@ -3532,7 +3532,8 @@ int ventoy_plugin_load_menu_lang(const char *lang)
grub_snprintf(g_ventoy_hotkey_tip, sizeof(g_ventoy_hotkey_tip), "%s", ventoy_get_vmenu_title("VTMENU_STR_HOTKEY_LIST"));
}
g_ventoy_virt_esc = 2;
ventoy_menu_push_key(GRUB_TERM_ESC);
ventoy_menu_push_key(GRUB_TERM_ESC);
g_ventoy_menu_refresh = 1;
ret = 0;

View File

@ -1,5 +1,7 @@
source $prefix/menulang.cfg
submenu "@VTMENU_MENU_LANG" --class=debug_menu_lang --class=F5tool {
source $prefix/menulang.cfg
}
source $prefix/power.cfg
source $prefix/hwinfo.cfg
source $prefix/keyboard.cfg

View File

@ -65,6 +65,10 @@ function ventoy_vcfg_proc {
fi
}
function ventoy_language {
configfile $prefix/menulang.cfg
}
function ventoy_diagnosis {
vt_enum_video_mode
configfile $prefix/debug.cfg
@ -2373,6 +2377,7 @@ set VTOY_HELP_CMD="ventoy_show_help"
set VTOY_CHKSUM_CMD="ventoy_checksum"
set VTOY_HELP_TXT_LANGUAGE="en_US"
set VTOY_CHKSUM_FILE_PATH="X"
set VTOY_LANG_CMD="ventoy_language"
if [ "$grub_platform" = "pc" ]; then
@ -2582,6 +2587,7 @@ export VTOY_HELP_CMD
export VTOY_CHKSUM_CMD
export VTOY_HELP_TXT_LANGUAGE
export VTOY_CHKSUM_FILE_PATH
export VTOY_LANG_CMD
#colect all image files (iso files)

View File

@ -1,5 +1,5 @@
h - Zeigt dieses Hilfe Menu
F1 - Memdisk Modus (Nur für kleine WinPE/LiveCD ISO/IMG)
L - Sprache auswählen
F1 - Zeigt dieses Hilfe Menu
F2 - Browse and boot files in local disk
F3 - Menu wechsel zwischen Baum <-> Listen Ansicht
F4 - Windows/Linux vom lokalem Datenträger starten
@ -7,7 +7,8 @@ F5 - Dienstprogramme
F6 - Benutzerdefiniertes Grub2-Menü laden
F7 - Wechseln zwischen GUI-Modus <-> TEXT-Modus
m - Prüfsummencheck Image Dateien (md5/sha1/sha256/sha512)
m/Ctrl+m - Prüfsummencheck Image Dateien (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk Modus (Nur für kleine WinPE/LiveCD ISO/IMG)
w/Ctrl+w - WIMBOOT Modus (Nur für Standard Windows ISO)
r/Ctrl+r - Grub2 Modus (Nur für einige Linux distros)
i/Ctrl+i - Kompatibilitäts Modus (Nur für Fehleranalyse)

View File

@ -1,5 +1,5 @@
h - Display this help information
F1 - Memdisk Mode (Only for small WinPE/LiveCD ISO/IMG)
L - Language Select
F1 - Display this help information
F2 - Browse and boot files in local disk
F3 - Switch menu mode between Treeview <-> ListView
F4 - Boot Windows/Linux in local disk
@ -7,7 +7,8 @@ F5 - Utilities
F6 - Load Custom Grub2 Menu
F7 - Switch between GUI Mode <-> TEXT Mode
m - Checksum image files (md5/sha1/sha256/sha512)
m/Ctrl+m - Checksum image files (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk Mode (Only for small WinPE/LiveCD ISO/IMG)
w/Ctrl+w - WIMBOOT Mode (Only for standard Windows ISO)
r/Ctrl+r - Grub2 Mode (Only for some Linux distros)
i/Ctrl+i - Compatible Mode (Just only for debug)

View File

@ -1,5 +1,5 @@
h - Afficher cette aide
F1 - Mode Memdisk (Seulement pour WinPE/LiveCD ISO/IMG)
L - Sélection de la langue
F1 - Afficher cette aide
F2 - Browse and boot files in local disk
F3 - Basculer l'affichage 'Vue en arbre' <-> 'Vue en liste'
F4 - Démarrer le système Windows/Linux local
@ -7,10 +7,13 @@ F5 - Utilitaires
F6 - Charger le menu Grub2 personnalisé
F7 - Basculer entre le mode graphique <-> mode texte
m - Somme de contrôle des images (md5/sha1/sha256/sha512)
m/Ctrl+m - Somme de contrôle des images (md5/sha1/sha256/sha512)
d/Ctrl+d - Mode Memdisk (Seulement pour WinPE/LiveCD ISO/IMG)
w/Ctrl+w - Mode WIMBOOT (seulement pour les images standards Windows)
r/Ctrl+r - Mode Grub2 (seulement pour quelques Linux)
i/Ctrl+i - Mode Compatible (seulement à fins de tests)
u/Ctrl+u - Load ISO efi driver (Just only for debug, can not be used officially)
Appuyer sur Echap pour sortir ......

View File

@ -1,5 +1,5 @@
h - Prikazuje ove informacije
F1 - Memdisk način rada (samo za male WinPE/LiveCD imidž fajlove)
L - Izaberite jezik
F1 - Prikazuje ove informacije
F2 - Pokreće imidž fajlove na lokalnom disku
F3 - Mijenja meni između TreeView <-> ListView
F4 - Pokreće Windows/Linux na lokalnom disku
@ -7,7 +7,8 @@ F5 - Alati
F6 - Učitava prilagođen GRUB2 meni
F7 - Mijenja između GUI <-> TEXT načina rada
m - Generira heš odabranog imidž fajla (md5/sha1/sha256/sha512)
m/Ctrl+m - Generira heš odabranog imidž fajla (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk način rada (samo za male WinPE/LiveCD imidž fajlove)
w/Ctrl+w - WIMBOOT način rada (samo za standardne Windows imidž fajlove)
r/Ctrl+r - GRUB2 način rada (samo za neke Linux distribucije)
i/Ctrl+i - Kompatibilni način rada (samo za testiranje)

View File

@ -1,5 +1,5 @@
h - Tampilkan bantuan informasi ini
F1 - Mode Memdisk (Hanya untuk ukuran WinPE/LiveCD ISO/IMG yang kecil)
L - Pilih Bahasa
F1 - Tampilkan bantuan informasi ini
F2 - Browse and boot files in local disk
F3 - Beralih mode menu antara Treeview <-> ListView
F4 - Jalankan (boot) Windows/Linux pada disk lokal
@ -7,7 +7,8 @@ F5 - Alat Utilitas
F6 - Memuat ubah suai Grub2 Menu
F7 - Beralih antara mode GUI <-> Mode TEXT
m - Periksa berkas files (md5/sha1/sha256/sha512)
m/Ctrl+m - Periksa berkas files (md5/sha1/sha256/sha512)
d/Ctrl+d - Mode Memdisk (Hanya untuk ukuran WinPE/LiveCD ISO/IMG yang kecil)
w/Ctrl+w - Mode WIMBOOT (Hanya untuk berkas ISO Windows standar)
r/Ctrl+r - Mode Grub2 (Hanya untuk distro Linux tertentu)
i/Ctrl+i - Mode Kompatibel/Compatible (Hanya untuk debug saja)

View File

@ -1,5 +1,5 @@
h - この画面を表示する
F1 - 主記憶装置上に記憶域を作成する容量の小さなWinPE・LiveCD専用
L - 言語を選択
F1 - この画面を表示する
F2 - 手元の記憶装置にある起動ファイルを選択して実行する
F3 - 表示形式を切り替える(一覧 ↔ 階層)
F4 - 手元の記憶装置にあるWindowsまたはLinuxを起動する
@ -7,7 +7,8 @@ F5 - 諸機能
F6 - Grub2の構成を読み込む
F7 - 操作形式を切り替えるGUI ↔ CUI
m - イメージの検査合計を計算する (md5/sha1/sha256/sha512)
m/Ctrl+m - イメージの検査合計を計算する (md5/sha1/sha256/sha512)
d/Ctrl+d - 主記憶装置上に記憶域を作成する容量の小さなWinPE・LiveCD専用
w/Ctrl+w - WIMBOOTモード標準的なWindows ISO専用
r/Ctrl+r - Grub2モード一部のLinuxディストリビューション専用
i/Ctrl+i - 互換モード(開発用)

View File

@ -1,5 +1,5 @@
h - 이 도움말 정보 표시
F1 - Memdisk 모드 (작은 WinPE/LiveCD ISO/IMG 전용)
L - 언어 선택
F1 - 이 도움말 정보 표시
F2 - 로컬 디스크에서 파일 찾아보기 및 부팅
F3 - 트리보기 <-> 목록보기 간에 메뉴 모드 전환
F4 - 로컬 디스크에서 Windows/Linux 부팅
@ -7,8 +7,9 @@ F5 - 유틸리티
F6 - 사용자 지정 Grub2 메뉴 로드
F7 - GUI 모드 <-> TEXT 모드 간에 전환
m - 체크섬 이미지 파일 (md5/sha1/sha256/sha512)
w/Ctrl+w - WIMBOOT 모드 (표준 Windows ISO 전용)
m/Ctrl+m - 체크섬 이미지 파일 (md5/sha1/sha256/sha512)
d/Ctrl+d - WIMBOOT 모드 (표준 Windows ISO 전용)
w/Ctrl+w - Memdisk 모드 (작은 WinPE/LiveCD ISO/IMG 전용)
r/Ctrl+r - Grub2 모드 (일부 Linux 배포판에만 해당)
i/Ctrl+i - 호환 모드 (디버그 전용)
u/Ctrl+u - ISO eFi 드라이버 로드 (디버그 전용, 공식적으로 사용할 수 없음)

View File

@ -1,5 +1,5 @@
h - Mostra esta informação de ajuda
F1 - Modo Memdisk (Apenas para pequenos WinPE/LiveCD ISO/IMG)
L - Selecionar Idioma
F1 - Mostra esta informação de ajuda
F2 - Browse and boot files in local disk
F3 - Alternar o modo menu entre Vista de árvore <-> Vista de lista
F4 - Arrancar o Windows/Linux em disco local
@ -7,7 +7,8 @@ F5 - Utilitários
F6 - Carregar menu Grub2 personalizado
F7 - Alternar entre Modo GUI <-> Modo TEXTO
m - Checksum ficheiros de imagem (md5/sha1/sha256/sha512)
m/Ctrl+m - Checksum ficheiros de imagem (md5/sha1/sha256/sha512)
d/Ctrl+d - Modo Memdisk (Apenas para pequenos WinPE/LiveCD ISO/IMG)
w/Ctrl+w - Modo WIMBOOT (Apenas para Windows ISO padrão)
r/Ctrl+r - Modo Grub2 (Apenas para algumas distros Linux)
i/Ctrl+i - Modo Compatível (Apenas para depuração)

View File

@ -1,5 +1,5 @@
h - Приказује ове информације
F1 - Memdisk начин рада (само за мале WinPE/LiveCD имиџ фајлове)
L - Изаберите језик
F1 - Приказује ове информације
F2 - Покреће имиџ фајлове на локалном диску
F3 - Мења мени између TreeView <-> ListView
F4 - Покреће Windows/Linux на локалном диску
@ -7,7 +7,8 @@ F5 - Алати
F6 - Учитава прилагођен GRUB2 мени
F7 - Мења између GUI <-> TEXT начина рада
m - Генерира хеш одабраног имиџ фајла (md5/sha1/sha256/sha512)
m/Ctrl+m - Генерира хеш одабраног имиџ фајла (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk начин рада (само за мале WinPE/LiveCD имиџ фајлове)
w/Ctrl+w - WIMBOOT начин рада (само за стандардне Windows имиџ фајлове)
r/Ctrl+r - GRUB2 начин рада (само за неке Linux дистрибуције)
i/Ctrl+i - Компатибилни начин рада (само за тестирање)

View File

@ -1,5 +1,5 @@
h - Yardım bilgilerini göster
F1 - Memdisk Modu başlatır(Yalnızca küçük WinPE/LiveCD ISO/IMG ler için bu modu kullanabilirsiniz)
L - Dil Seçimi
F1 - Yardım bilgilerini göster
F2 - Yerel diskteki dosyalara GÖZAT ve ÖNYÜKLE'meyi sağlar
F3 - Ventoy Menü modu olarak,Klasör görünümü(Treeview) ile Liste görünümü(ListView) arasında geçiş yapmayı sağlar.
F4 - Bilgisayarınızda yüklü olan Windows yada Linux işletim sistemini, sabit diskten başlatır.
@ -7,8 +7,9 @@ F5 - Ventoy Araçlar menüsü
F6 - Özelleştirilmiş Grub2 menüsünü yükler
F7 - Grafik Modu(GUI Mode) ile Metin Modu(Text Mode) arasında geçiş yapmayı sağlar
m - İndirilen imaj dosyalarının hatasız indirildiğini teyit etmek için "md5/sha1/sha256/sha512" değerlerini kontrol etmeyi sağlar
m/Ctrl+m - İndirilen imaj dosyalarının hatasız indirildiğini teyit etmek için "md5/sha1/sha256/sha512" değerlerini kontrol etmeyi sağlar
w/Ctrl+w - WIMBOOT Modu çalıştırmayı sağlar(Sadece normal Windows ISO ları için)
d/Ctrl+d - Memdisk Modu başlatır(Yalnızca küçük WinPE/LiveCD ISO/IMG ler için bu modu kullanabilirsiniz)
r/Ctrl+r - Grub2 Modu çalıştırmayı sağlar (Sadece bazı Linux dağıtımları için)
i/Ctrl+i - Uyumluluk Modu'nu (Compatible Mode) çalıştırmayı sağlar (Sadece hata ayıklama için bu modu kullanabilirsiniz)
u/Ctrl+u - ISO efi sürücüsünü yükler(Sadece hata ayıklama için bu mod kullanılabilir, resmi olarak kullanılamaz)

View File

@ -1,5 +1,5 @@
h - 显示本帮助信息
F1 - 把文件加载到内存启动(只适用于文件很小的 WinPE/LiveCD等
L - 选择语言
F1 - 显示本帮助信息
F2 - 浏览并启动本地硬盘中的镜像文件
F3 - 菜单显示模式切换。可在列表模式和目录模式之间自由切换。
F4 - 启动本地硬盘上的 Windows/Linux 等系统。
@ -7,7 +7,8 @@ F5 - 各类工具
F6 - 加载自定义 GRUB2 菜单。
F7 - 界面在文本模式和图形模式之间切换。
m - 计算文件校验值md5/sha1/sha256/sha512
m/Ctrl+m - 计算文件校验值md5/sha1/sha256/sha512
d/Ctrl+d - MEMDISK 模式,把文件加载到内存启动(只适用于文件很小的 WinPE/LiveCD等
w/Ctrl+w - WIMBOOT 模式 (只适用于标准的 Windows ISO文件
r/Ctrl+r - Grub2 模式 (只适用于常见的一些 Linux 系统ISO文件
i/Ctrl+i - 兼容模式 (只用作调试目的,不能正式使用)

View File

@ -1,8 +1,8 @@
{
"VTMENU_LANGUAGE_NAME": "en_US (English)",
"VTMENU_STR_HOTKEY_LIST": "h:Help F1:Memdisk F2:Browser F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_STR_HOTKEY_TREE": "h:Help F1:Memdisk F2:Browser F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_STR_HOTKEY_LIST": "L:Language F1:Help F2:Browser F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_STR_HOTKEY_TREE": "L:Language F1:Help F2:Browser F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTMENU_RETURN_PREVIOUS": "Return to previous menu [Esc]",
"VTMENU_MENU_LANG": "Menu Language Select",

View File

@ -1,8 +1,8 @@
{
"VTMENU_LANGUAGE_NAME": "zh_CN (简体中文)",
"VTMENU_STR_HOTKEY_LIST": "h:帮助 F1:内存模式 F2:本地浏览 F3:列表模式 F4:本地启动 F5:工具 F6:扩展菜单",
"VTMENU_STR_HOTKEY_TREE": "h:帮助 F1:内存模式 F2:本地浏览 F3:树形模式 F4:本地启动 F5:工具 F6:扩展菜单",
"VTMENU_STR_HOTKEY_LIST": "L:语言 F1:帮助 F2:本地浏览 F3:列表模式 F4:本地启动 F5:工具 F6:扩展菜单",
"VTMENU_STR_HOTKEY_TREE": "L:语言 F1:帮助 F2:本地浏览 F3:树形模式 F4:本地启动 F5:工具 F6:扩展菜单",
"VTMENU_RETURN_PREVIOUS": "返回上一级菜单 [Esc]",
"VTMENU_MENU_LANG": "菜单语言",

View File

@ -1,3 +1 @@
submenu "@VTMENU_MENU_LANG" --class=debug_menu_lang --class=F5tool {
#ventoy_pack.sh will generate menuentry here

View File

@ -101,7 +101,6 @@ done
echo "menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {" >> menulang.cfg
echo " echo 'Return ...'" >> menulang.cfg
echo "}" >> menulang.cfg
echo "}" >> menulang.cfg
tar czf menu.tar.gz ./menu/
rm -rf ./menu