mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-09-17 01:11:19 +00:00
Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
f4bbec65ba | ||
|
58d387f732 | ||
|
2e10aabe94 | ||
|
a63a41f79d | ||
|
64748308a3 | ||
|
33cc1e271a | ||
|
291e0a3a38 |
@@ -438,6 +438,8 @@ EFI_STATUS EFIAPI ventoy_block_io_read
|
||||
UINT32 j = 0;
|
||||
UINT32 lbacount = 0;
|
||||
UINT32 secNum = 0;
|
||||
UINT32 TmpNum = 0;
|
||||
UINT64 VirtSec = 0;
|
||||
UINT64 offset = 0;
|
||||
EFI_LBA curlba = 0;
|
||||
EFI_LBA lastlba = 0;
|
||||
@@ -461,6 +463,26 @@ EFI_STATUS EFIAPI ventoy_block_io_read
|
||||
{
|
||||
return ventoy_read_iso_sector(Lba, secNum, Buffer);
|
||||
}
|
||||
else if (offset < g_chain->real_img_size_in_bytes)
|
||||
{
|
||||
TmpNum = (g_chain->real_img_size_in_bytes - offset) / 2048;
|
||||
ventoy_read_iso_sector(Lba, TmpNum, Buffer);
|
||||
|
||||
Lba += TmpNum;
|
||||
secNum -= TmpNum;
|
||||
Buffer = (UINT8 *)Buffer + (g_chain->real_img_size_in_bytes - offset);
|
||||
offset = Lba * 2048;
|
||||
}
|
||||
|
||||
VirtSec = g_chain->virt_img_size_in_bytes / 2048;
|
||||
if (Lba >= VirtSec)
|
||||
{
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
else if (Lba + secNum > VirtSec)
|
||||
{
|
||||
secNum = VirtSec - Lba;
|
||||
}
|
||||
|
||||
if (secNum > g_sector_flag_num)
|
||||
{
|
||||
|
@@ -42,6 +42,7 @@ int g_ventoy_last_entry = -1;
|
||||
int g_ventoy_suppress_esc = 0;
|
||||
int g_ventoy_menu_esc = 0;
|
||||
int g_ventoy_fn_mutex = 0;
|
||||
int g_ventoy_terminal_output = 0;
|
||||
|
||||
/* Time to delay after displaying an error message about a default/fallback
|
||||
entry failing to boot. */
|
||||
@@ -871,15 +872,18 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
|
||||
}
|
||||
break;
|
||||
case GRUB_TERM_KEY_F7:
|
||||
case '7':
|
||||
cmdstr = grub_env_get("VTOY_F7_CMD");
|
||||
if (cmdstr)
|
||||
menu_fini ();
|
||||
if (g_ventoy_terminal_output == 0)
|
||||
{
|
||||
menu_fini ();
|
||||
grub_script_execute_sourcecode(cmdstr);
|
||||
goto refresh;
|
||||
grub_script_execute_sourcecode("terminal_output console");
|
||||
g_ventoy_terminal_output = 1;
|
||||
}
|
||||
break;
|
||||
else
|
||||
{
|
||||
grub_script_execute_sourcecode("terminal_output gfxterm");
|
||||
g_ventoy_terminal_output = 0;
|
||||
}
|
||||
goto refresh;
|
||||
case GRUB_TERM_KEY_F1:
|
||||
case '1':
|
||||
menu_fini ();
|
||||
|
795
GRUB2/MOD_SRC/grub-2.04/grub-core/term/keyboard_layout.c
Normal file
795
GRUB2/MOD_SRC/grub-2.04/grub-core/term/keyboard_layout.c
Normal file
@@ -0,0 +1,795 @@
|
||||
|
||||
#define ventoy_keyboard_set_layout(name) if (grub_strcmp(layout, #name) == 0) return ventoy_keyboard_layout_##name()
|
||||
|
||||
static void ventoy_keyboard_layout_QWERTY_USA(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_disable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_AZERTY(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("a", "q");
|
||||
grub_keymap_add_by_string("A", "Q");
|
||||
grub_keymap_add_by_string("z", "w");
|
||||
grub_keymap_add_by_string("Z", "W");
|
||||
grub_keymap_add_by_string("q", "a");
|
||||
grub_keymap_add_by_string("Q", "A");
|
||||
grub_keymap_add_by_string("m", "semicolon");
|
||||
grub_keymap_add_by_string("M", "colon");
|
||||
grub_keymap_add_by_string("w", "z");
|
||||
grub_keymap_add_by_string("W", "Z");
|
||||
grub_keymap_add_by_string("comma", "m");
|
||||
grub_keymap_add_by_string("question", "M");
|
||||
grub_keymap_add_by_string("semicolon", "comma");
|
||||
grub_keymap_add_by_string("period", "less");
|
||||
grub_keymap_add_by_string("colon", "period");
|
||||
grub_keymap_add_by_string("slash", "greater");
|
||||
grub_keymap_add_by_string("exclam", "slash");
|
||||
grub_keymap_add_by_string("dollar", "bracketright");
|
||||
grub_keymap_add_by_string("asterisk", "backslash");
|
||||
grub_keymap_add_by_string("percent", "doublequote");
|
||||
grub_keymap_add_by_string("ampersand", "1");
|
||||
grub_keymap_add_by_string("1", "exclam");
|
||||
grub_keymap_add_by_string("tilde", "2");
|
||||
grub_keymap_add_by_string("2", "at");
|
||||
grub_keymap_add_by_string("doublequote", "3");
|
||||
grub_keymap_add_by_string("3", "numbersign");
|
||||
grub_keymap_add_by_string("quote", "4");
|
||||
grub_keymap_add_by_string("4", "dollar");
|
||||
grub_keymap_add_by_string("parenleft", "5");
|
||||
grub_keymap_add_by_string("5", "percent");
|
||||
grub_keymap_add_by_string("minus", "6");
|
||||
grub_keymap_add_by_string("6", "caret");
|
||||
grub_keymap_add_by_string("backquote", "7");
|
||||
grub_keymap_add_by_string("7", "ampersand");
|
||||
grub_keymap_add_by_string("underscore", "8");
|
||||
grub_keymap_add_by_string("8", "asterisk");
|
||||
grub_keymap_add_by_string("caret", "9");
|
||||
grub_keymap_add_by_string("9", "parenleft");
|
||||
grub_keymap_add_by_string("at", "0");
|
||||
grub_keymap_add_by_string("0", "parenright");
|
||||
grub_keymap_add_by_string("parenright", "minus");
|
||||
grub_keymap_add_by_string("less", "backquote");
|
||||
grub_keymap_add_by_string("greater", "tilde");
|
||||
grub_keymap_add_by_string("numbersign", "braceright");
|
||||
grub_keymap_add_by_string("backslash", "question");
|
||||
grub_keymap_add_by_string("bracketright", "braceleft");
|
||||
grub_keymap_add_by_string("braceleft", "quote");
|
||||
grub_keymap_add_by_string("braceright", "underscore");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_CZECH_QWERTY(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("semicolon", "backquote");
|
||||
grub_keymap_add_by_string("plus", "1");
|
||||
grub_keymap_add_by_string("equal", "minus");
|
||||
grub_keymap_add_by_string("quote", "equal");
|
||||
grub_keymap_add_by_string("parenright", "bracketright");
|
||||
grub_keymap_add_by_string("doublequote", "backslash");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("1", "exclam");
|
||||
grub_keymap_add_by_string("2", "at");
|
||||
grub_keymap_add_by_string("3", "numbersign");
|
||||
grub_keymap_add_by_string("4", "dollar");
|
||||
grub_keymap_add_by_string("5", "percent");
|
||||
grub_keymap_add_by_string("6", "caret");
|
||||
grub_keymap_add_by_string("7", "ampersand");
|
||||
grub_keymap_add_by_string("8", "asterisk");
|
||||
grub_keymap_add_by_string("9", "parenleft");
|
||||
grub_keymap_add_by_string("0", "parenright");
|
||||
grub_keymap_add_by_string("percent", "underscore");
|
||||
grub_keymap_add_by_string("slash", "braceleft");
|
||||
grub_keymap_add_by_string("parenleft", "braceright");
|
||||
grub_keymap_add_by_string("doublequote", "colon");
|
||||
grub_keymap_add_by_string("exclam", "doublequote");
|
||||
grub_keymap_add_by_string("quote", "bar");
|
||||
grub_keymap_add_by_string("question", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("backquote", "Abackquote");
|
||||
grub_keymap_add_by_string("exclam", "A1");
|
||||
grub_keymap_add_by_string("at", "A2");
|
||||
grub_keymap_add_by_string("numbersign", "A3");
|
||||
grub_keymap_add_by_string("dollar", "A4");
|
||||
grub_keymap_add_by_string("percent", "A5");
|
||||
grub_keymap_add_by_string("caret", "A6");
|
||||
grub_keymap_add_by_string("ampersand", "A7");
|
||||
grub_keymap_add_by_string("asterisk", "A8");
|
||||
grub_keymap_add_by_string("parenleft", "A9");
|
||||
grub_keymap_add_by_string("parenright", "A0");
|
||||
grub_keymap_add_by_string("minus", "Aminus");
|
||||
grub_keymap_add_by_string("equal", "Aequal");
|
||||
grub_keymap_add_by_string("bracketleft", "Abracketleft");
|
||||
grub_keymap_add_by_string("bracketright", "Abracketright");
|
||||
grub_keymap_add_by_string("semicolon", "Asemicolon");
|
||||
grub_keymap_add_by_string("backslash", "Abackslash");
|
||||
grub_keymap_add_by_string("less", "Acomma");
|
||||
grub_keymap_add_by_string("greater", "Aperiod");
|
||||
grub_keymap_add_by_string("slash", "Aslash");
|
||||
grub_keymap_add_by_string("tilde", "Atilde");
|
||||
grub_keymap_add_by_string("underscore", "Aunderscore");
|
||||
grub_keymap_add_by_string("plus", "Aplus");
|
||||
grub_keymap_add_by_string("braceleft", "Abraceleft");
|
||||
grub_keymap_add_by_string("braceright", "Abraceright");
|
||||
grub_keymap_add_by_string("caret", "Adoublequote");
|
||||
grub_keymap_add_by_string("colon", "Acolon");
|
||||
grub_keymap_add_by_string("question", "Aquestion");
|
||||
grub_keymap_add_by_string("bar", "Abar");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_CZECH_QWERTZ(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("y", "z");
|
||||
grub_keymap_add_by_string("z", "y");
|
||||
grub_keymap_add_by_string("Y", "Z");
|
||||
grub_keymap_add_by_string("Z", "Y");
|
||||
grub_keymap_add_by_string("semicolon", "backquote");
|
||||
grub_keymap_add_by_string("plus", "1");
|
||||
grub_keymap_add_by_string("equal", "minus");
|
||||
grub_keymap_add_by_string("quote", "equal");
|
||||
grub_keymap_add_by_string("parenright", "bracketright");
|
||||
grub_keymap_add_by_string("doublequote", "backslash");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("1", "exclam");
|
||||
grub_keymap_add_by_string("2", "at");
|
||||
grub_keymap_add_by_string("3", "numbersign");
|
||||
grub_keymap_add_by_string("4", "dollar");
|
||||
grub_keymap_add_by_string("5", "percent");
|
||||
grub_keymap_add_by_string("6", "caret");
|
||||
grub_keymap_add_by_string("7", "ampersand");
|
||||
grub_keymap_add_by_string("8", "asterisk");
|
||||
grub_keymap_add_by_string("9", "parenleft");
|
||||
grub_keymap_add_by_string("0", "parenright");
|
||||
grub_keymap_add_by_string("percent", "underscore");
|
||||
grub_keymap_add_by_string("slash", "braceleft");
|
||||
grub_keymap_add_by_string("parenleft", "braceright");
|
||||
grub_keymap_add_by_string("doublequote", "colon");
|
||||
grub_keymap_add_by_string("exclam", "doublequote");
|
||||
grub_keymap_add_by_string("quote", "bar");
|
||||
grub_keymap_add_by_string("question", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("tilde", "A1");
|
||||
grub_keymap_add_by_string("caret", "A3");
|
||||
grub_keymap_add_by_string("backslash", "Aq");
|
||||
grub_keymap_add_by_string("bar", "Aw");
|
||||
grub_keymap_add_by_string("bracketleft", "Af");
|
||||
grub_keymap_add_by_string("bracketright", "Ag");
|
||||
grub_keymap_add_by_string("dollar", "Asemicolon");
|
||||
grub_keymap_add_by_string("numbersign", "Ax");
|
||||
grub_keymap_add_by_string("ampersand", "Ac");
|
||||
grub_keymap_add_by_string("at", "Av");
|
||||
grub_keymap_add_by_string("braceleft", "Ab");
|
||||
grub_keymap_add_by_string("braceright", "An");
|
||||
grub_keymap_add_by_string("less", "Acomma");
|
||||
grub_keymap_add_by_string("greater", "Aperiod");
|
||||
grub_keymap_add_by_string("asterisk", "Aslash");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_DANISH(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("plus", "minus");
|
||||
grub_keymap_add_by_string("quote", "equal");
|
||||
grub_keymap_add_by_string("doublequote", "bracketright");
|
||||
grub_keymap_add_by_string("quote", "backslash");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("caret", "braceright");
|
||||
grub_keymap_add_by_string("asterisk", "bar");
|
||||
grub_keymap_add_by_string("backquote", "plus");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("bar", "Atilde");
|
||||
grub_keymap_add_by_string("backslash", "Abackquote");
|
||||
grub_keymap_add_by_string("greater", "tilde");
|
||||
grub_keymap_add_by_string("at", "A2");
|
||||
grub_keymap_add_by_string("dollar", "A4");
|
||||
grub_keymap_add_by_string("braceleft", "A7");
|
||||
grub_keymap_add_by_string("bracketleft", "A8");
|
||||
grub_keymap_add_by_string("bracketright", "A9");
|
||||
grub_keymap_add_by_string("braceright", "A0");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("less", "quote");
|
||||
grub_keymap_add_by_string("greater", "doublequote");
|
||||
grub_keymap_add_by_string("tilde", "Abracketright");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_DVORAK_USA(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("[", "minus");
|
||||
grub_keymap_add_by_string("braceleft", "underscore");
|
||||
grub_keymap_add_by_string("quote", "q");
|
||||
grub_keymap_add_by_string("doublequote", "Q");
|
||||
grub_keymap_add_by_string("comma", "w");
|
||||
grub_keymap_add_by_string("less", "W");
|
||||
grub_keymap_add_by_string("s", "semicolon");
|
||||
grub_keymap_add_by_string("S", "colon");
|
||||
grub_keymap_add_by_string("semicolon", "z");
|
||||
grub_keymap_add_by_string("colon", "Z");
|
||||
grub_keymap_add_by_string("w", "comma");
|
||||
grub_keymap_add_by_string("W", "less");
|
||||
grub_keymap_add_by_string("v", "period");
|
||||
grub_keymap_add_by_string("z", "greater");
|
||||
grub_keymap_add_by_string("z", "slash");
|
||||
grub_keymap_add_by_string("equal", "bracketright");
|
||||
grub_keymap_add_by_string("backslash", "backslash");
|
||||
grub_keymap_add_by_string("underscore", "doublequote");
|
||||
grub_keymap_add_by_string("quote", "q");
|
||||
grub_keymap_add_by_string("doublequote", "Q");
|
||||
grub_keymap_add_by_string("comma", "w");
|
||||
grub_keymap_add_by_string("less", "W");
|
||||
grub_keymap_add_by_string("period", "e");
|
||||
grub_keymap_add_by_string("greater", "E");
|
||||
grub_keymap_add_by_string("p", "r");
|
||||
grub_keymap_add_by_string("P", "R");
|
||||
grub_keymap_add_by_string("y", "t");
|
||||
grub_keymap_add_by_string("Y", "T");
|
||||
grub_keymap_add_by_string("f", "y");
|
||||
grub_keymap_add_by_string("F", "Y");
|
||||
grub_keymap_add_by_string("g", "u");
|
||||
grub_keymap_add_by_string("G", "U");
|
||||
grub_keymap_add_by_string("c", "c");
|
||||
grub_keymap_add_by_string("C", "I");
|
||||
grub_keymap_add_by_string("r", "o");
|
||||
grub_keymap_add_by_string("R", "O");
|
||||
grub_keymap_add_by_string("l", "p");
|
||||
grub_keymap_add_by_string("L", "P");
|
||||
grub_keymap_add_by_string("bracketright", "equal");
|
||||
grub_keymap_add_by_string("braceright", "plus");
|
||||
grub_keymap_add_by_string("a", "a");
|
||||
grub_keymap_add_by_string("A", "A");
|
||||
grub_keymap_add_by_string("o", "s");
|
||||
grub_keymap_add_by_string("O", "S");
|
||||
grub_keymap_add_by_string("e", "d");
|
||||
grub_keymap_add_by_string("E", "D");
|
||||
grub_keymap_add_by_string("u", "f");
|
||||
grub_keymap_add_by_string("U", "F");
|
||||
grub_keymap_add_by_string("i", "g");
|
||||
grub_keymap_add_by_string("I", "G");
|
||||
grub_keymap_add_by_string("d", "h");
|
||||
grub_keymap_add_by_string("D", "H");
|
||||
grub_keymap_add_by_string("h", "j");
|
||||
grub_keymap_add_by_string("H", "J");
|
||||
grub_keymap_add_by_string("t", "k");
|
||||
grub_keymap_add_by_string("T", "K");
|
||||
grub_keymap_add_by_string("n", "l");
|
||||
grub_keymap_add_by_string("N", "L");
|
||||
grub_keymap_add_by_string("s", "semicolon");
|
||||
grub_keymap_add_by_string("S", "colon");
|
||||
grub_keymap_add_by_string("minus", "quote");
|
||||
grub_keymap_add_by_string("underscore", "doublequote");
|
||||
grub_keymap_add_by_string("semicolon", "z");
|
||||
grub_keymap_add_by_string("colon", "Z");
|
||||
grub_keymap_add_by_string("q", "x");
|
||||
grub_keymap_add_by_string("Q", "X");
|
||||
grub_keymap_add_by_string("j", "c");
|
||||
grub_keymap_add_by_string("J", "C");
|
||||
grub_keymap_add_by_string("k", "v");
|
||||
grub_keymap_add_by_string("K", "V");
|
||||
grub_keymap_add_by_string("x", "b");
|
||||
grub_keymap_add_by_string("X", "B");
|
||||
grub_keymap_add_by_string("b", "n");
|
||||
grub_keymap_add_by_string("B", "N");
|
||||
grub_keymap_add_by_string("w", "comma");
|
||||
grub_keymap_add_by_string("W", "less");
|
||||
grub_keymap_add_by_string("v", "period");
|
||||
grub_keymap_add_by_string("V", "greater");
|
||||
grub_keymap_add_by_string("z", "slash");
|
||||
grub_keymap_add_by_string("Z", "question");
|
||||
grub_keymap_add_by_string("slash", "bracketleft");
|
||||
grub_keymap_add_by_string("question", "braceleft");
|
||||
grub_keymap_add_by_string("equal", "bracketright");
|
||||
grub_keymap_add_by_string("plus", "braceright");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_FRENCH(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("less", "backquote");
|
||||
grub_keymap_add_by_string("greater", "tilde");
|
||||
grub_keymap_add_by_string("ampersand", "1");
|
||||
grub_keymap_add_by_string("1", "exclam");
|
||||
grub_keymap_add_by_string("tilde", "2");
|
||||
grub_keymap_add_by_string("2", "at");
|
||||
grub_keymap_add_by_string("doublequote", "3");
|
||||
grub_keymap_add_by_string("3", "numbersign");
|
||||
grub_keymap_add_by_string("quote", "4");
|
||||
grub_keymap_add_by_string("4", "dollar");
|
||||
grub_keymap_add_by_string("parenleft", "5");
|
||||
grub_keymap_add_by_string("5", "percent");
|
||||
grub_keymap_add_by_string("minus", "6");
|
||||
grub_keymap_add_by_string("6", "caret");
|
||||
grub_keymap_add_by_string("backquote", "7");
|
||||
grub_keymap_add_by_string("7", "ampersand");
|
||||
grub_keymap_add_by_string("underscore", "8");
|
||||
grub_keymap_add_by_string("8", "asterisk");
|
||||
grub_keymap_add_by_string("backslash", "9");
|
||||
grub_keymap_add_by_string("9", "parenleft");
|
||||
grub_keymap_add_by_string("at", "0");
|
||||
grub_keymap_add_by_string("0", "parenright");
|
||||
grub_keymap_add_by_string("parenright", "minus");
|
||||
grub_keymap_add_by_string("numbersign", "underscore");
|
||||
grub_keymap_add_by_string("a", "q");
|
||||
grub_keymap_add_by_string("A", "Q");
|
||||
grub_keymap_add_by_string("z", "w");
|
||||
grub_keymap_add_by_string("Z", "W");
|
||||
grub_keymap_add_by_string("caret", "bracketleft");
|
||||
grub_keymap_add_by_string("dollar", "bracketright");
|
||||
grub_keymap_add_by_string("q", "a");
|
||||
grub_keymap_add_by_string("Q", "A");
|
||||
grub_keymap_add_by_string("m", "semicolon");
|
||||
grub_keymap_add_by_string("M", "colon");
|
||||
grub_keymap_add_by_string("bracketleft", "quote");
|
||||
grub_keymap_add_by_string("percent", "doublequote");
|
||||
grub_keymap_add_by_string("asterisk", "backslash");
|
||||
grub_keymap_add_by_string("bracketright", "bar");
|
||||
grub_keymap_add_by_string("w", "z");
|
||||
grub_keymap_add_by_string("W", "Z");
|
||||
grub_keymap_add_by_string("comma", "m");
|
||||
grub_keymap_add_by_string("question", "M");
|
||||
grub_keymap_add_by_string("semicolon", "comma");
|
||||
grub_keymap_add_by_string("period", "less");
|
||||
grub_keymap_add_by_string("colon", "period");
|
||||
grub_keymap_add_by_string("slash", "greater");
|
||||
grub_keymap_add_by_string("exclam", "slash");
|
||||
grub_keymap_add_by_string("bar", "question");
|
||||
grub_keymap_add_by_string("tilde", "A2");
|
||||
grub_keymap_add_by_string("numbersign", "A3");
|
||||
grub_keymap_add_by_string("braceleft", "A4");
|
||||
grub_keymap_add_by_string("bracketleft", "A5");
|
||||
grub_keymap_add_by_string("bar", "A6");
|
||||
grub_keymap_add_by_string("quote", "A7");
|
||||
grub_keymap_add_by_string("backslash", "A8");
|
||||
grub_keymap_add_by_string("caret", "A9");
|
||||
grub_keymap_add_by_string("at", "A0");
|
||||
grub_keymap_add_by_string("bracketright", "Aminus");
|
||||
grub_keymap_add_by_string("braceright", "Aequal");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_GERMAN(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("backslash", "minus");
|
||||
grub_keymap_add_by_string("z", "y");
|
||||
grub_keymap_add_by_string("Z", "Y");
|
||||
grub_keymap_add_by_string("y", "z");
|
||||
grub_keymap_add_by_string("Y", "Z");
|
||||
grub_keymap_add_by_string("plus", "bracketright");
|
||||
grub_keymap_add_by_string("asterisk", "braceright");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("caret", "backquote");
|
||||
grub_keymap_add_by_string("quote", "equal");
|
||||
grub_keymap_add_by_string("backquote", "plus");
|
||||
grub_keymap_add_by_string("braceright", "doublequote");
|
||||
grub_keymap_add_by_string("bar", "bracketleft");
|
||||
grub_keymap_add_by_string("at", "braceleft");
|
||||
grub_keymap_add_by_string("numbersign", "backslash");
|
||||
grub_keymap_add_by_string("at", "Aq");
|
||||
grub_keymap_add_by_string("less", "backquote");
|
||||
grub_keymap_add_by_string("greater", "tilde");
|
||||
grub_keymap_add_by_string("braceleft", "A7");
|
||||
grub_keymap_add_by_string("bracketleft", "A8");
|
||||
grub_keymap_add_by_string("bracketright", "A9");
|
||||
grub_keymap_add_by_string("braceright", "A0");
|
||||
grub_keymap_add_by_string("tilde", "Abracketright");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("quote", "bar");
|
||||
grub_keymap_add_by_string("greater", "semicolon");
|
||||
grub_keymap_add_by_string("less", "colon");
|
||||
grub_keymap_add_by_string("bar", "quote");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_ITALIANO(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("backslash", "backquote");
|
||||
grub_keymap_add_by_string("bar", "tilde");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("tilde", "numbersign");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("quote", "minus");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("caret", "plus");
|
||||
grub_keymap_add_by_string("bracketleft", "bracketleft");
|
||||
grub_keymap_add_by_string("bracketright", "braceleft");
|
||||
grub_keymap_add_by_string("plus", "bracketright");
|
||||
grub_keymap_add_by_string("asterisk", "braceright");
|
||||
grub_keymap_add_by_string("at", "semicolon");
|
||||
grub_keymap_add_by_string("braceleft", "colon");
|
||||
grub_keymap_add_by_string("numbersign", "quote");
|
||||
grub_keymap_add_by_string("braceright", "doublequote");
|
||||
grub_keymap_add_by_string("less", "backslash");
|
||||
grub_keymap_add_by_string("greater", "bar");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("bracketleft", "Abracketleft");
|
||||
grub_keymap_add_by_string("bracketright", "Abracketright");
|
||||
grub_keymap_add_by_string("at", "Asemicolon");
|
||||
grub_keymap_add_by_string("numbersign", "Aquote");
|
||||
grub_keymap_add_by_string("braceright", "Abraceright");
|
||||
grub_keymap_add_by_string("braceleft", "Abraceleft");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_JAPAN_106(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("at", "bracketleft");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("quote", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("underscore", "parenright");
|
||||
grub_keymap_add_by_string("equal", "underscore");
|
||||
grub_keymap_add_by_string("plus", "colon");
|
||||
grub_keymap_add_by_string("colon", "quote");
|
||||
grub_keymap_add_by_string("asterisk", "doublequote");
|
||||
grub_keymap_add_by_string("bracketleft", "bracketright");
|
||||
grub_keymap_add_by_string("braceleft", "braceright");
|
||||
grub_keymap_add_by_string("bracketright", "backslash");
|
||||
grub_keymap_add_by_string("braceright", "bar");
|
||||
grub_keymap_add_by_string("backslash", "backquote");
|
||||
grub_keymap_add_by_string("tilde", "plus");
|
||||
grub_keymap_add_by_string("caret", "equal");
|
||||
grub_keymap_add_by_string("backquote", "braceleft");
|
||||
grub_keymap_add_by_string("bar", "tilde");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_LATIN_USA(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("bar", "backquote");
|
||||
grub_keymap_add_by_string("quote", "minus");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("backquote", "bracketleft");
|
||||
grub_keymap_add_by_string("plus", "bracketright");
|
||||
grub_keymap_add_by_string("braceleft", "quote");
|
||||
grub_keymap_add_by_string("braceright", "backslash");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("asterisk", "braceright");
|
||||
grub_keymap_add_by_string("bracketleft", "doublequote");
|
||||
grub_keymap_add_by_string("bracketright", "bar");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("caret", "Aquote");
|
||||
grub_keymap_add_by_string("doublequote", "braceleft");
|
||||
grub_keymap_add_by_string("at", "Aq");
|
||||
grub_keymap_add_by_string("backquote", "Abackslash");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("greater", "plus");
|
||||
grub_keymap_add_by_string("less", "equal");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("backquote", "Abackslash");
|
||||
grub_keymap_add_by_string("tilde", "Abracketright");
|
||||
grub_keymap_add_by_string("caret", "Aquote");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_PORTU_BRAZIL(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("quote", "backquote");
|
||||
grub_keymap_add_by_string("quote", "bracketleft");
|
||||
grub_keymap_add_by_string("bracketleft", "bracketright");
|
||||
grub_keymap_add_by_string("tilde", "quote");
|
||||
grub_keymap_add_by_string("bracketright", "backslash");
|
||||
grub_keymap_add_by_string("semicolon", "slash");
|
||||
grub_keymap_add_by_string("bar", "colon");
|
||||
grub_keymap_add_by_string("doublequote", "tilde");
|
||||
grub_keymap_add_by_string("backquote", "braceleft");
|
||||
grub_keymap_add_by_string("braceleft", "braceright");
|
||||
grub_keymap_add_by_string("caret", "doublequote");
|
||||
grub_keymap_add_by_string("braceright", "bar");
|
||||
grub_keymap_add_by_string("colon", "question");
|
||||
grub_keymap_add_by_string("backslash", "semicolon");
|
||||
grub_keymap_add_by_string("bar", "Atilde");
|
||||
grub_keymap_add_by_string("backslash", "Abackquote");
|
||||
grub_keymap_add_by_string("slash", "Aq");
|
||||
grub_keymap_add_by_string("question", "Aw");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_QWERTY_UK(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("at", "doublequote");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("tilde", "bar");
|
||||
grub_keymap_add_by_string("numbersign", "backslash");
|
||||
grub_keymap_add_by_string("backslash", "numbersign");
|
||||
grub_keymap_add_by_string("bar", "tilde");
|
||||
grub_keymap_add_by_string("backslash", "Atilde");
|
||||
grub_keymap_add_by_string("backslash", "Abackquote");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_QWERTZ(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "percent");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("backslash", "minus");
|
||||
grub_keymap_add_by_string("z", "y");
|
||||
grub_keymap_add_by_string("Z", "Y");
|
||||
grub_keymap_add_by_string("y", "z");
|
||||
grub_keymap_add_by_string("Y", "Z");
|
||||
grub_keymap_add_by_string("plus", "bracketright");
|
||||
grub_keymap_add_by_string("asterisk", "braceright");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("caret", "backquote");
|
||||
grub_keymap_add_by_string("backquote", "equal");
|
||||
grub_keymap_add_by_string("numbersign", "backslash");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("percent", "caret");
|
||||
grub_keymap_add_by_string("less", "numbersign");
|
||||
grub_keymap_add_by_string("greater", "bar");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_QWERTZ_HUN(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("y", "z");
|
||||
grub_keymap_add_by_string("z", "y");
|
||||
grub_keymap_add_by_string("Y", "Z");
|
||||
grub_keymap_add_by_string("Z", "Y");
|
||||
grub_keymap_add_by_string("0", "backquote");
|
||||
grub_keymap_add_by_string("quote", "exclam");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("plus", "numbersign");
|
||||
grub_keymap_add_by_string("exclam", "dollar");
|
||||
grub_keymap_add_by_string("slash", "caret");
|
||||
grub_keymap_add_by_string("equal", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("backslash", "Aq");
|
||||
grub_keymap_add_by_string("bar", "Aw");
|
||||
grub_keymap_add_by_string("bracketleft", "Af");
|
||||
grub_keymap_add_by_string("bracketright", "Ag");
|
||||
grub_keymap_add_by_string("greater", "Az");
|
||||
grub_keymap_add_by_string("numbersign", "Ax");
|
||||
grub_keymap_add_by_string("ampersand", "Ac");
|
||||
grub_keymap_add_by_string("at", "Av");
|
||||
grub_keymap_add_by_string("braceleft", "Ab");
|
||||
grub_keymap_add_by_string("braceright", "An");
|
||||
grub_keymap_add_by_string("less", "Am");
|
||||
grub_keymap_add_by_string("dollar", "colon");
|
||||
grub_keymap_add_by_string("question", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("at", "doublequote");
|
||||
grub_keymap_add_by_string("tilde", "A1");
|
||||
grub_keymap_add_by_string("caret", "A3");
|
||||
grub_keymap_add_by_string("backquote", "A7");
|
||||
grub_keymap_add_by_string("asterisk", "0");
|
||||
grub_keymap_add_by_string("dollar", "Asemicolon");
|
||||
grub_keymap_add_by_string("semicolon", "Acomma");
|
||||
grub_keymap_add_by_string("greater", "Aperiod");
|
||||
grub_keymap_add_by_string("asterisk", "Aslash");
|
||||
grub_keymap_add_by_string("backquote", "A9");
|
||||
grub_keymap_add_by_string("doublequote", "A0");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_QWERTZ_SLOV_CROAT(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("quote", "minus");
|
||||
grub_keymap_add_by_string("plus", "equal");
|
||||
grub_keymap_add_by_string("y", "z");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("doublequote", "tilde");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("asterisk", "plus");
|
||||
grub_keymap_add_by_string("Y", "Z");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("tilde", "A1");
|
||||
grub_keymap_add_by_string("caret", "A3");
|
||||
grub_keymap_add_by_string("backquote", "A7");
|
||||
grub_keymap_add_by_string("backslash", "Aq");
|
||||
grub_keymap_add_by_string("bar", "Aw");
|
||||
grub_keymap_add_by_string("bracketleft", "Af");
|
||||
grub_keymap_add_by_string("bracketright", "Ag");
|
||||
grub_keymap_add_by_string("at", "Av");
|
||||
grub_keymap_add_by_string("braceleft", "Ab");
|
||||
grub_keymap_add_by_string("braceright", "An");
|
||||
grub_keymap_add_by_string("less", "Acomma");
|
||||
grub_keymap_add_by_string("greater", "Aperiod");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_SPANISH(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("caret", "braceleft");
|
||||
grub_keymap_add_by_string("asterisk", "braceright");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("quote", "minus");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("greater", "bar");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("backslash", "backquote");
|
||||
grub_keymap_add_by_string("less", "backslash");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("backquote", "bracketleft");
|
||||
grub_keymap_add_by_string("plus", "bracketright");
|
||||
grub_keymap_add_by_string("plus", "colon");
|
||||
grub_keymap_add_by_string("at", "semicolon");
|
||||
grub_keymap_add_by_string("bar", "A1");
|
||||
grub_keymap_add_by_string("at", "A2");
|
||||
grub_keymap_add_by_string("numbersign", "A3");
|
||||
grub_keymap_add_by_string("tilde", "A4");
|
||||
grub_keymap_add_by_string("bracketleft", "Abracketleft");
|
||||
grub_keymap_add_by_string("bracketright", "Abracketright");
|
||||
grub_keymap_add_by_string("braceleft", "Aquote");
|
||||
grub_keymap_add_by_string("braceright", "Abackslash");
|
||||
grub_keymap_add_by_string("greater", "bar");
|
||||
grub_keymap_add_by_string("less", "backslash");
|
||||
grub_keymap_add_by_string("backslash", "Abackquote");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_SWEDISH(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("plus", "minus");
|
||||
grub_keymap_add_by_string("quote", "equal");
|
||||
grub_keymap_add_by_string("doublequote", "bracketright");
|
||||
grub_keymap_add_by_string("quote", "backslash");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("caret", "braceright");
|
||||
grub_keymap_add_by_string("asterisk", "bar");
|
||||
grub_keymap_add_by_string("backquote", "plus");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("bar", "Atilde");
|
||||
grub_keymap_add_by_string("backslash", "Abackquote");
|
||||
grub_keymap_add_by_string("greater", "tilde");
|
||||
grub_keymap_add_by_string("at", "A2");
|
||||
grub_keymap_add_by_string("dollar", "A4");
|
||||
grub_keymap_add_by_string("braceleft", "A7");
|
||||
grub_keymap_add_by_string("bracketleft", "A8");
|
||||
grub_keymap_add_by_string("bracketright", "A9");
|
||||
grub_keymap_add_by_string("braceright", "A0");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("less", "quote");
|
||||
grub_keymap_add_by_string("greater", "doublequote");
|
||||
grub_keymap_add_by_string("tilde", "Abracketright");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_TURKISH_Q(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("doublequote", "backquote");
|
||||
grub_keymap_add_by_string("asterisk", "minus");
|
||||
grub_keymap_add_by_string("minus", "equal");
|
||||
grub_keymap_add_by_string("comma", "backslash");
|
||||
grub_keymap_add_by_string("period", "slash");
|
||||
grub_keymap_add_by_string("quote", "at");
|
||||
grub_keymap_add_by_string("caret", "numbersign");
|
||||
grub_keymap_add_by_string("plus", "dollar");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("underscore", "plus");
|
||||
grub_keymap_add_by_string("semicolon", "bar");
|
||||
grub_keymap_add_by_string("colon", "question");
|
||||
grub_keymap_add_by_string("less", "Abackquote");
|
||||
grub_keymap_add_by_string("greater", "A1");
|
||||
grub_keymap_add_by_string("numbersign", "A3");
|
||||
grub_keymap_add_by_string("dollar", "A4");
|
||||
grub_keymap_add_by_string("braceleft", "A7");
|
||||
grub_keymap_add_by_string("bracketleft", "A8");
|
||||
grub_keymap_add_by_string("bracketright", "A9");
|
||||
grub_keymap_add_by_string("braceright", "A0");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("bar", "Aequal");
|
||||
grub_keymap_add_by_string("at", "Aq");
|
||||
grub_keymap_add_by_string("doublequote", "Abracketleft");
|
||||
grub_keymap_add_by_string("tilde", "Abracketright");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_VIETNAMESE(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("exclam", "A1");
|
||||
grub_keymap_add_by_string("at", "A2");
|
||||
grub_keymap_add_by_string("numbersign", "A3");
|
||||
grub_keymap_add_by_string("dollar", "A4");
|
||||
grub_keymap_add_by_string("percent", "A5");
|
||||
grub_keymap_add_by_string("caret", "A6");
|
||||
grub_keymap_add_by_string("ampersand", "A7");
|
||||
grub_keymap_add_by_string("asterisk", "A8");
|
||||
grub_keymap_add_by_string("parenleft", "A9");
|
||||
grub_keymap_add_by_string("parenright", "A0");
|
||||
grub_keymap_add_by_string("plus", "Aplus");
|
||||
grub_keymap_add_by_string("equal", "Aequal");
|
||||
grub_keymap_add_by_string("braceleft", "Abraceleft");
|
||||
grub_keymap_add_by_string("braceright", "Abraceright");
|
||||
grub_keymap_add_by_string("colon", "Acolon");
|
||||
grub_keymap_add_by_string("semicolon", "Asemicolon");
|
||||
grub_keymap_add_by_string("quote", "Aquote");
|
||||
grub_keymap_add_by_string("backslash", "Abackslash");
|
||||
grub_keymap_add_by_string("less", "Aless");
|
||||
grub_keymap_add_by_string("greater", "Agreater");
|
||||
grub_keymap_add_by_string("comma", "Acomma");
|
||||
grub_keymap_add_by_string("period", "Aperiod");
|
||||
grub_keymap_add_by_string("question", "Aquestion");
|
||||
grub_keymap_add_by_string("slash", "Aslash");
|
||||
grub_keymap_add_by_string("tilde", "Atilde");
|
||||
grub_keymap_add_by_string("backquote", "Abackquote");
|
||||
grub_keymap_add_by_string("bracketright", "Abracketright");
|
||||
grub_keymap_add_by_string("bracketleft", "Abracketleft");
|
||||
grub_keymap_add_by_string("bar", "Abar");
|
||||
grub_keymap_add_by_string("doublequote", "Adoublequote");
|
||||
grub_keymap_add_by_string("colon", "Acolon");
|
||||
grub_keymap_add_by_string("minus", "Aminus");
|
||||
grub_keymap_add_by_string("underscore", "Aunderscore");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
void ventoy_set_keyboard_layout(const char *layout);
|
||||
void ventoy_set_keyboard_layout(const char *layout) {
|
||||
ventoy_keyboard_set_layout(QWERTY_USA);
|
||||
ventoy_keyboard_set_layout(AZERTY);
|
||||
ventoy_keyboard_set_layout(CZECH_QWERTY);
|
||||
ventoy_keyboard_set_layout(CZECH_QWERTZ);
|
||||
ventoy_keyboard_set_layout(DANISH);
|
||||
ventoy_keyboard_set_layout(DVORAK_USA);
|
||||
ventoy_keyboard_set_layout(FRENCH);
|
||||
ventoy_keyboard_set_layout(GERMAN);
|
||||
ventoy_keyboard_set_layout(ITALIANO);
|
||||
ventoy_keyboard_set_layout(JAPAN_106);
|
||||
ventoy_keyboard_set_layout(LATIN_USA);
|
||||
ventoy_keyboard_set_layout(PORTU_BRAZIL);
|
||||
ventoy_keyboard_set_layout(QWERTY_UK);
|
||||
ventoy_keyboard_set_layout(QWERTZ);
|
||||
ventoy_keyboard_set_layout(QWERTZ_HUN);
|
||||
ventoy_keyboard_set_layout(QWERTZ_SLOV_CROAT);
|
||||
ventoy_keyboard_set_layout(SPANISH);
|
||||
ventoy_keyboard_set_layout(SWEDISH);
|
||||
ventoy_keyboard_set_layout(TURKISH_Q);
|
||||
ventoy_keyboard_set_layout(VIETNAMESE);
|
||||
}
|
@@ -348,12 +348,38 @@ out:
|
||||
return grub_errno;
|
||||
}
|
||||
|
||||
static grub_extcmd_t cmd;
|
||||
static void grub_keymap_add_by_string(const char *src, const char *dst)
|
||||
{
|
||||
int in = 0;
|
||||
int out = 0;
|
||||
|
||||
in = parse_key(dst);
|
||||
out = parse_key(src);
|
||||
|
||||
if (in && out)
|
||||
{
|
||||
grub_keymap_add (in, out);
|
||||
}
|
||||
}
|
||||
|
||||
#include "keyboard_layout.c"
|
||||
|
||||
static grub_err_t grub_cmd_set_keylayout (grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
ventoy_set_keyboard_layout(args[0]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_extcmd_t cmd, setcmd;
|
||||
|
||||
GRUB_MOD_INIT(setkey)
|
||||
{
|
||||
cmd = grub_register_extcmd ("setkey", grub_cmd_setkey, 0, N_("NEW_KEY USA_KEY"),
|
||||
N_("Map default USA_KEY to NEW_KEY."), options);
|
||||
setcmd = grub_register_extcmd ("set_keyboard_layout", grub_cmd_set_keylayout, 0, N_("layout"),
|
||||
N_("Set keyboard layout."), NULL);
|
||||
}
|
||||
|
||||
GRUB_MOD_FINI(setkey)
|
||||
|
@@ -1774,7 +1774,7 @@ int ventoy_check_device_result(int ret)
|
||||
grub_printf(VTOY_WARNING"\n");
|
||||
grub_printf(VTOY_WARNING"\n\n\n");
|
||||
|
||||
grub_printf("This is NOT a standard Ventoy device and is NOT supported.\n\n");
|
||||
grub_printf("This is NOT a standard Ventoy device and is NOT supported (0x%x).\n\n", ret);
|
||||
grub_printf("You should follow the instructions in https://www.ventoy.net to use Ventoy.\n");
|
||||
|
||||
grub_printf("\n\nWill exit after 10 seconds ...... ");
|
||||
|
79
IMG/cpio/ventoy/hook/debian/kerio-disk.sh
Normal file
79
IMG/cpio/ventoy/hook/debian/kerio-disk.sh
Normal file
@@ -0,0 +1,79 @@
|
||||
#!/ventoy/busybox/sh
|
||||
#************************************************************************************
|
||||
# Copyright (c) 2020, longpanda <admin@ventoy.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
#************************************************************************************
|
||||
|
||||
. /ventoy/hook/ventoy-hook-lib.sh
|
||||
|
||||
if is_ventoy_hook_finished; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
vtlog "####### $0 $* ########"
|
||||
|
||||
VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
|
||||
|
||||
|
||||
ventoy_os_install_dmsetup_by_ko() {
|
||||
vtlog "ventoy_os_install_dmsetup_by_ko $1"
|
||||
|
||||
vtVer=$(uname -r)
|
||||
if uname -m | $GREP -q 64; then
|
||||
vtBit=64
|
||||
else
|
||||
vtBit=32
|
||||
fi
|
||||
|
||||
ventoy_extract_vtloopex $1 kerio
|
||||
vtLoopExDir=$VTOY_PATH/vtloopex/kerio/vtloopex
|
||||
|
||||
if [ -e $vtLoopExDir/dm-mod/$vtVer/$vtBit/dm-mod.ko.xz ]; then
|
||||
$BUSYBOX_PATH/xz -d $vtLoopExDir/dm-mod/$vtVer/$vtBit/dm-mod.ko.xz
|
||||
insmod $vtLoopExDir/dm-mod/$vtVer/$vtBit/dm-mod.ko
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
wait_for_usb_disk_ready
|
||||
|
||||
vtdiskname=$(get_ventoy_disk_name)
|
||||
if [ "$vtdiskname" = "unknown" ]; then
|
||||
vtlog "ventoy disk not found"
|
||||
PATH=$VTPATH_OLD
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if echo $vtdiskname | $EGREP -q "nvme|mmc|nbd"; then
|
||||
ventoy_os_install_dmsetup_by_ko "${vtdiskname}p2"
|
||||
else
|
||||
ventoy_os_install_dmsetup_by_ko "${vtdiskname}2"
|
||||
fi
|
||||
|
||||
|
||||
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
|
||||
|
||||
blkdev_num=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1:\2/')
|
||||
vtDM=$(ventoy_find_dm_id ${blkdev_num})
|
||||
|
||||
vtlog "/dev/$vtDM"
|
||||
mount -t iso9660 /dev/$vtDM /cdrom
|
||||
modprobe squashfs
|
||||
echo "/dev/$vtDM" > /ventoy/vtDM
|
||||
|
||||
PATH=$VTPATH_OLD
|
||||
|
||||
set_ventoy_hook_finish
|
20
IMG/cpio/ventoy/hook/debian/kerio-hook.sh
Normal file
20
IMG/cpio/ventoy/hook/debian/kerio-hook.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/ventoy/busybox/sh
|
||||
#************************************************************************************
|
||||
# Copyright (c) 2020, longpanda <admin@ventoy.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
#************************************************************************************
|
||||
|
||||
$SED "/for drive in/i\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/kerio-disk.sh >/dev/null 2>&1; cat /ventoy/vtDM; exit 0" -i /installer/install_init
|
@@ -37,9 +37,17 @@ ventoy_os_install_dmsetup_by_fuse() {
|
||||
|
||||
mount -t iso9660 $VTOY_PATH/mnt/fuse/ventoy.iso $VTOY_PATH/mnt/iso
|
||||
|
||||
sfsfile=$(ls $VTOY_PATH/mnt/iso/adrv_veket*.sfs)
|
||||
|
||||
mount -t squashfs $sfsfile $VTOY_PATH/mnt/squashfs
|
||||
for sfsfile in $(ls $VTOY_PATH/mnt/iso/*drv_veket*.sfs); do
|
||||
mount -t squashfs $sfsfile $VTOY_PATH/mnt/squashfs
|
||||
if [ -d $VTOY_PATH/mnt/squashfs/lib/modules ]; then
|
||||
KoName=$(ls $VTOY_PATH/mnt/squashfs/lib/modules/$2/kernel/drivers/md/dm-mod.ko*)
|
||||
if [ -n "$KoName" -a -f $KoName ]; then
|
||||
break
|
||||
fi
|
||||
fi
|
||||
|
||||
umount $VTOY_PATH/mnt/squashfs
|
||||
done
|
||||
|
||||
KoName=$(ls $VTOY_PATH/mnt/squashfs/lib/modules/$2/kernel/drivers/dax/dax.ko*)
|
||||
vtlog "insmod $KoName"
|
||||
|
@@ -86,6 +86,9 @@ ventoy_get_debian_distro() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -e /opt/kerio ]; then
|
||||
echo 'kerio'; return
|
||||
fi
|
||||
|
||||
|
||||
echo 'default'
|
||||
|
@@ -49,7 +49,12 @@ done
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
vtlog "ln -s /dev/$vtDM $1"
|
||||
ln -s /dev/$vtDM "$1"
|
||||
|
||||
if [ -e "$1" ]; then
|
||||
vtlog "$1 already exist"
|
||||
else
|
||||
ln -s /dev/$vtDM "$1"
|
||||
fi
|
||||
else
|
||||
vtLABEL=$($BUSYBOX_PATH/blkid /dev/$vtDM | $SED 's/.*LABEL="\([^"]*\)".*/\1/')
|
||||
vtlog "vtLABEL is $vtLABEL"
|
||||
|
@@ -46,7 +46,9 @@ if is_inotify_ventoy_part $3; then
|
||||
vtRhel8Ver=$($SED "s#.*8\.\([0-9]*\).*#\1#" /etc/system-release)
|
||||
if [ $vtRhel8Ver -ge 3 ]; then
|
||||
vtReplaceOpt=""
|
||||
fi
|
||||
elif $GREP -q "Stream" /etc/system-release; then
|
||||
vtReplaceOpt=""
|
||||
fi
|
||||
fi
|
||||
|
||||
$BUSYBOX_PATH/sh $VTOY_PATH/hook/default/udev_disk_hook.sh $3 $vtReplaceOpt
|
||||
|
Binary file not shown.
@@ -32,6 +32,7 @@
|
||||
*save_env: loadenv
|
||||
*search: search
|
||||
*serial: serial
|
||||
*set_keyboard_layout: setkey
|
||||
*setkey: setkey
|
||||
*sha1sum: hashsum
|
||||
*sha256sum: hashsum
|
||||
|
@@ -1,7 +1,7 @@
|
||||
videotest: font video gfxmenu
|
||||
setkey: extcmd
|
||||
odc: archelp
|
||||
loopback: extcmd
|
||||
setkey: extcmd
|
||||
macho:
|
||||
gcry_des: crypto
|
||||
memrw: extcmd
|
||||
|
@@ -1,5 +1,5 @@
|
||||
|
||||
source $prefix/keyboard.cfg.gz
|
||||
source $prefix/keyboard.cfg
|
||||
|
||||
submenu "Resolution Configuration" --class=debug_resolution {
|
||||
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
|
||||
|
@@ -311,6 +311,8 @@ function distro_specify_initrd_file_phase2 {
|
||||
vt_linux_specify_initrd_file /antiX/initrd.gz
|
||||
elif [ -f (loop)/360Disk/initrd.gz ]; then
|
||||
vt_linux_specify_initrd_file /360Disk/initrd.gz
|
||||
elif [ -f (loop)/porteus/initrd.xz ]; then
|
||||
vt_linux_specify_initrd_file /porteus/initrd.xz
|
||||
|
||||
fi
|
||||
}
|
||||
@@ -1030,7 +1032,7 @@ function iso_common_menuentry {
|
||||
vt_parse_iso_volume "${vtoy_iso_part}${vt_chosen_path}" vt_system_id vt_volume_id vt_volume_space
|
||||
if [ $vt_volume_space -ne $vt_chosen_size ]; then
|
||||
vt_mod $vt_chosen_size 2048 vt_chosen_size_mod
|
||||
if [ $vt_volume_space -gt $vt_chosen_size -o $vt_chosen_size_mod -ne 0 ]; then
|
||||
if [ $vt_chosen_size_mod -ne 0 ]; then
|
||||
echo -e "\n $vt_volume_space $vt_chosen_size $vt_chosen_size_mod\n"
|
||||
echo -e "\n The size of the iso file \"$vt_chosen_size\" is invalid. File corrupted ?\n"
|
||||
echo -e " 此ISO文件的大小 \"$vt_chosen_size\" 有问题,请确认文件是否损坏。\n"
|
||||
@@ -1606,7 +1608,7 @@ function img_unsupport_menuentry {
|
||||
#############################################################
|
||||
#############################################################
|
||||
|
||||
set VENTOY_VERSION="1.0.38"
|
||||
set VENTOY_VERSION="1.0.39"
|
||||
|
||||
#ACPI not compatible with Window7/8, so disable by default
|
||||
set VTOY_PARAM_NO_ACPI=1
|
||||
@@ -1747,6 +1749,9 @@ else
|
||||
terminal_output gfxterm
|
||||
fi
|
||||
|
||||
if [ -n "$VTOY_DEFAULT_KBD_LAYOUT" ]; then
|
||||
set_keyboard_layout "$VTOY_DEFAULT_KBD_LAYOUT"
|
||||
fi
|
||||
|
||||
if [ -n "$VTOY_PLUGIN_SYNTAX_ERROR" ]; then
|
||||
clear
|
||||
|
@@ -43,6 +43,7 @@
|
||||
*save_env: loadenv
|
||||
*search: search
|
||||
*serial: serial
|
||||
*set_keyboard_layout: setkey
|
||||
*setkey: setkey
|
||||
*setpci: setpci
|
||||
*sha1sum: hashsum
|
||||
|
@@ -1,7 +1,7 @@
|
||||
videotest: font video gfxmenu
|
||||
setkey: extcmd
|
||||
odc: archelp
|
||||
loopback: extcmd
|
||||
setkey: extcmd
|
||||
macho:
|
||||
gcry_des: crypto
|
||||
memrw: extcmd
|
||||
|
@@ -47,6 +47,7 @@
|
||||
*search: search
|
||||
*sendkey: sendkey
|
||||
*serial: serial
|
||||
*set_keyboard_layout: setkey
|
||||
*setkey: setkey
|
||||
*setpci: setpci
|
||||
*sha1sum: hashsum
|
||||
|
@@ -1,7 +1,7 @@
|
||||
videotest: font video gfxmenu
|
||||
setkey: extcmd
|
||||
odc: archelp
|
||||
loopback: extcmd
|
||||
setkey: extcmd
|
||||
macho:
|
||||
gcry_des: crypto
|
||||
memrw: extcmd
|
||||
|
62
INSTALL/grub/keyboard.cfg
Normal file
62
INSTALL/grub/keyboard.cfg
Normal file
@@ -0,0 +1,62 @@
|
||||
submenu "Keyboard Layouts" --class=debug_krdlayout {
|
||||
menuentry QWERTY_USA --class=debug_kbd {
|
||||
set_keyboard_layout QWERTY_USA
|
||||
}
|
||||
menuentry AZERTY --class=debug_kbd {
|
||||
set_keyboard_layout AZERTY
|
||||
}
|
||||
menuentry CZECH_QWERTY --class=debug_kbd {
|
||||
set_keyboard_layout CZECH_QWERTY
|
||||
}
|
||||
menuentry CZECH_QWERTZ --class=debug_kbd {
|
||||
set_keyboard_layout CZECH_QWERTZ
|
||||
}
|
||||
menuentry DANISH --class=debug_kbd {
|
||||
set_keyboard_layout DANISH
|
||||
}
|
||||
menuentry DVORAK_USA --class=debug_kbd {
|
||||
set_keyboard_layout DVORAK_USA
|
||||
}
|
||||
menuentry FRENCH --class=debug_kbd {
|
||||
set_keyboard_layout FRENCH
|
||||
}
|
||||
menuentry GERMAN --class=debug_kbd {
|
||||
set_keyboard_layout GERMAN
|
||||
}
|
||||
menuentry ITALIANO --class=debug_kbd {
|
||||
set_keyboard_layout ITALIANO
|
||||
}
|
||||
menuentry JAPAN_106 --class=debug_kbd {
|
||||
set_keyboard_layout JAPAN_106
|
||||
}
|
||||
menuentry LATIN_USA --class=debug_kbd {
|
||||
set_keyboard_layout LATIN_USA
|
||||
}
|
||||
menuentry PORTU_BRAZIL --class=debug_kbd {
|
||||
set_keyboard_layout PORTU_BRAZIL
|
||||
}
|
||||
menuentry QWERTY_UK --class=debug_kbd {
|
||||
set_keyboard_layout QWERTY_UK
|
||||
}
|
||||
menuentry QWERTZ --class=debug_kbd {
|
||||
set_keyboard_layout QWERTZ
|
||||
}
|
||||
menuentry QWERTZ_HUN --class=debug_kbd {
|
||||
set_keyboard_layout QWERTZ_HUN
|
||||
}
|
||||
menuentry QWERTZ_SLOV_CROAT --class=debug_kbd {
|
||||
set_keyboard_layout QWERTZ_SLOV_CROAT
|
||||
}
|
||||
menuentry SPANISH --class=debug_kbd {
|
||||
set_keyboard_layout SPANISH
|
||||
}
|
||||
menuentry SWEDISH --class=debug_kbd {
|
||||
set_keyboard_layout SWEDISH
|
||||
}
|
||||
menuentry TURKISH_Q --class=debug_kbd {
|
||||
set_keyboard_layout TURKISH_Q
|
||||
}
|
||||
menuentry VIETNAMESE --class=debug_kbd {
|
||||
set_keyboard_layout VIETNAMESE
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -43,6 +43,7 @@
|
||||
*save_env: loadenv
|
||||
*search: search
|
||||
*serial: serial
|
||||
*set_keyboard_layout: setkey
|
||||
*setkey: setkey
|
||||
*setpci: setpci
|
||||
*sha1sum: hashsum
|
||||
|
@@ -1,7 +1,7 @@
|
||||
videotest: font video gfxmenu
|
||||
setkey: extcmd
|
||||
odc: archelp
|
||||
loopback: extcmd
|
||||
setkey: extcmd
|
||||
macho:
|
||||
gcry_des: crypto
|
||||
memrw: extcmd
|
||||
|
Binary file not shown.
@@ -386,6 +386,7 @@ int ventoy_vdisk_read(struct san_device *sandev, uint64_t lba, unsigned int coun
|
||||
uint32_t lbacount = 0;
|
||||
unsigned long lastbuffer;
|
||||
uint64_t readend;
|
||||
uint64_t VirtSec;
|
||||
ventoy_virt_chunk *node;
|
||||
ventoy_sector_flag *cur_flag;
|
||||
ventoy_sector_flag *sector_flag = g_sector_flag;
|
||||
@@ -401,6 +402,19 @@ int ventoy_vdisk_read(struct san_device *sandev, uint64_t lba, unsigned int coun
|
||||
|
||||
if (g_hddmode)
|
||||
{
|
||||
#if 0
|
||||
/* need to check ?? */
|
||||
lastlba = g_chain->virt_img_size_in_bytes / 512;
|
||||
if (lba < lastlba)
|
||||
{
|
||||
if (lba + count > lastlba)
|
||||
{
|
||||
count = lastlba - lba;
|
||||
}
|
||||
ventoy_vdisk_read_real_hdd(lba, count, buffer);
|
||||
}
|
||||
#endif
|
||||
|
||||
ventoy_vdisk_read_real_hdd(lba, count, buffer);
|
||||
ix86->regs.dl = sandev->drive;
|
||||
return 0;
|
||||
@@ -419,6 +433,33 @@ int ventoy_vdisk_read(struct san_device *sandev, uint64_t lba, unsigned int coun
|
||||
ix86->regs.dl = sandev->drive;
|
||||
return 0;
|
||||
}
|
||||
else if ((lba * 2048) < g_chain->real_img_size_in_bytes)
|
||||
{
|
||||
/* fix for grub4dos Inconsistent data read from error */
|
||||
memset((void *)(buffer + (count - 1) * 2048), 0, 2048);
|
||||
|
||||
count = (g_chain->real_img_size_in_bytes / 2048) - lba;
|
||||
ventoy_vdisk_read_real(lba, count, buffer);
|
||||
ix86->regs.dl = sandev->drive;
|
||||
|
||||
lba += count;
|
||||
buffer += count * 2048;
|
||||
count = (readend - g_chain->real_img_size_in_bytes) / 2048;
|
||||
}
|
||||
|
||||
VirtSec = g_chain->virt_img_size_in_bytes / 2048;
|
||||
if (lba >= VirtSec)
|
||||
{
|
||||
/* fix for grub4dos Inconsistent data read from error */
|
||||
memset((void *)(buffer + (count - 1) * 2048), 0, 2048);
|
||||
|
||||
ix86->regs.dl = sandev->drive;
|
||||
return 0;
|
||||
}
|
||||
else if (lba + count > VirtSec)
|
||||
{
|
||||
count = VirtSec - lba;
|
||||
}
|
||||
|
||||
if (count > sizeof(g_sector_flag))
|
||||
{
|
||||
|
795
KBD/keyboard_layout.c
Normal file
795
KBD/keyboard_layout.c
Normal file
@@ -0,0 +1,795 @@
|
||||
|
||||
#define ventoy_keyboard_set_layout(name) if (grub_strcmp(layout, #name) == 0) return ventoy_keyboard_layout_##name()
|
||||
|
||||
static void ventoy_keyboard_layout_QWERTY_USA(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_disable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_AZERTY(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("a", "q");
|
||||
grub_keymap_add_by_string("A", "Q");
|
||||
grub_keymap_add_by_string("z", "w");
|
||||
grub_keymap_add_by_string("Z", "W");
|
||||
grub_keymap_add_by_string("q", "a");
|
||||
grub_keymap_add_by_string("Q", "A");
|
||||
grub_keymap_add_by_string("m", "semicolon");
|
||||
grub_keymap_add_by_string("M", "colon");
|
||||
grub_keymap_add_by_string("w", "z");
|
||||
grub_keymap_add_by_string("W", "Z");
|
||||
grub_keymap_add_by_string("comma", "m");
|
||||
grub_keymap_add_by_string("question", "M");
|
||||
grub_keymap_add_by_string("semicolon", "comma");
|
||||
grub_keymap_add_by_string("period", "less");
|
||||
grub_keymap_add_by_string("colon", "period");
|
||||
grub_keymap_add_by_string("slash", "greater");
|
||||
grub_keymap_add_by_string("exclam", "slash");
|
||||
grub_keymap_add_by_string("dollar", "bracketright");
|
||||
grub_keymap_add_by_string("asterisk", "backslash");
|
||||
grub_keymap_add_by_string("percent", "doublequote");
|
||||
grub_keymap_add_by_string("ampersand", "1");
|
||||
grub_keymap_add_by_string("1", "exclam");
|
||||
grub_keymap_add_by_string("tilde", "2");
|
||||
grub_keymap_add_by_string("2", "at");
|
||||
grub_keymap_add_by_string("doublequote", "3");
|
||||
grub_keymap_add_by_string("3", "numbersign");
|
||||
grub_keymap_add_by_string("quote", "4");
|
||||
grub_keymap_add_by_string("4", "dollar");
|
||||
grub_keymap_add_by_string("parenleft", "5");
|
||||
grub_keymap_add_by_string("5", "percent");
|
||||
grub_keymap_add_by_string("minus", "6");
|
||||
grub_keymap_add_by_string("6", "caret");
|
||||
grub_keymap_add_by_string("backquote", "7");
|
||||
grub_keymap_add_by_string("7", "ampersand");
|
||||
grub_keymap_add_by_string("underscore", "8");
|
||||
grub_keymap_add_by_string("8", "asterisk");
|
||||
grub_keymap_add_by_string("caret", "9");
|
||||
grub_keymap_add_by_string("9", "parenleft");
|
||||
grub_keymap_add_by_string("at", "0");
|
||||
grub_keymap_add_by_string("0", "parenright");
|
||||
grub_keymap_add_by_string("parenright", "minus");
|
||||
grub_keymap_add_by_string("less", "backquote");
|
||||
grub_keymap_add_by_string("greater", "tilde");
|
||||
grub_keymap_add_by_string("numbersign", "braceright");
|
||||
grub_keymap_add_by_string("backslash", "question");
|
||||
grub_keymap_add_by_string("bracketright", "braceleft");
|
||||
grub_keymap_add_by_string("braceleft", "quote");
|
||||
grub_keymap_add_by_string("braceright", "underscore");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_CZECH_QWERTY(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("semicolon", "backquote");
|
||||
grub_keymap_add_by_string("plus", "1");
|
||||
grub_keymap_add_by_string("equal", "minus");
|
||||
grub_keymap_add_by_string("quote", "equal");
|
||||
grub_keymap_add_by_string("parenright", "bracketright");
|
||||
grub_keymap_add_by_string("doublequote", "backslash");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("1", "exclam");
|
||||
grub_keymap_add_by_string("2", "at");
|
||||
grub_keymap_add_by_string("3", "numbersign");
|
||||
grub_keymap_add_by_string("4", "dollar");
|
||||
grub_keymap_add_by_string("5", "percent");
|
||||
grub_keymap_add_by_string("6", "caret");
|
||||
grub_keymap_add_by_string("7", "ampersand");
|
||||
grub_keymap_add_by_string("8", "asterisk");
|
||||
grub_keymap_add_by_string("9", "parenleft");
|
||||
grub_keymap_add_by_string("0", "parenright");
|
||||
grub_keymap_add_by_string("percent", "underscore");
|
||||
grub_keymap_add_by_string("slash", "braceleft");
|
||||
grub_keymap_add_by_string("parenleft", "braceright");
|
||||
grub_keymap_add_by_string("doublequote", "colon");
|
||||
grub_keymap_add_by_string("exclam", "doublequote");
|
||||
grub_keymap_add_by_string("quote", "bar");
|
||||
grub_keymap_add_by_string("question", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("backquote", "Abackquote");
|
||||
grub_keymap_add_by_string("exclam", "A1");
|
||||
grub_keymap_add_by_string("at", "A2");
|
||||
grub_keymap_add_by_string("numbersign", "A3");
|
||||
grub_keymap_add_by_string("dollar", "A4");
|
||||
grub_keymap_add_by_string("percent", "A5");
|
||||
grub_keymap_add_by_string("caret", "A6");
|
||||
grub_keymap_add_by_string("ampersand", "A7");
|
||||
grub_keymap_add_by_string("asterisk", "A8");
|
||||
grub_keymap_add_by_string("parenleft", "A9");
|
||||
grub_keymap_add_by_string("parenright", "A0");
|
||||
grub_keymap_add_by_string("minus", "Aminus");
|
||||
grub_keymap_add_by_string("equal", "Aequal");
|
||||
grub_keymap_add_by_string("bracketleft", "Abracketleft");
|
||||
grub_keymap_add_by_string("bracketright", "Abracketright");
|
||||
grub_keymap_add_by_string("semicolon", "Asemicolon");
|
||||
grub_keymap_add_by_string("backslash", "Abackslash");
|
||||
grub_keymap_add_by_string("less", "Acomma");
|
||||
grub_keymap_add_by_string("greater", "Aperiod");
|
||||
grub_keymap_add_by_string("slash", "Aslash");
|
||||
grub_keymap_add_by_string("tilde", "Atilde");
|
||||
grub_keymap_add_by_string("underscore", "Aunderscore");
|
||||
grub_keymap_add_by_string("plus", "Aplus");
|
||||
grub_keymap_add_by_string("braceleft", "Abraceleft");
|
||||
grub_keymap_add_by_string("braceright", "Abraceright");
|
||||
grub_keymap_add_by_string("caret", "Adoublequote");
|
||||
grub_keymap_add_by_string("colon", "Acolon");
|
||||
grub_keymap_add_by_string("question", "Aquestion");
|
||||
grub_keymap_add_by_string("bar", "Abar");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_CZECH_QWERTZ(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("y", "z");
|
||||
grub_keymap_add_by_string("z", "y");
|
||||
grub_keymap_add_by_string("Y", "Z");
|
||||
grub_keymap_add_by_string("Z", "Y");
|
||||
grub_keymap_add_by_string("semicolon", "backquote");
|
||||
grub_keymap_add_by_string("plus", "1");
|
||||
grub_keymap_add_by_string("equal", "minus");
|
||||
grub_keymap_add_by_string("quote", "equal");
|
||||
grub_keymap_add_by_string("parenright", "bracketright");
|
||||
grub_keymap_add_by_string("doublequote", "backslash");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("1", "exclam");
|
||||
grub_keymap_add_by_string("2", "at");
|
||||
grub_keymap_add_by_string("3", "numbersign");
|
||||
grub_keymap_add_by_string("4", "dollar");
|
||||
grub_keymap_add_by_string("5", "percent");
|
||||
grub_keymap_add_by_string("6", "caret");
|
||||
grub_keymap_add_by_string("7", "ampersand");
|
||||
grub_keymap_add_by_string("8", "asterisk");
|
||||
grub_keymap_add_by_string("9", "parenleft");
|
||||
grub_keymap_add_by_string("0", "parenright");
|
||||
grub_keymap_add_by_string("percent", "underscore");
|
||||
grub_keymap_add_by_string("slash", "braceleft");
|
||||
grub_keymap_add_by_string("parenleft", "braceright");
|
||||
grub_keymap_add_by_string("doublequote", "colon");
|
||||
grub_keymap_add_by_string("exclam", "doublequote");
|
||||
grub_keymap_add_by_string("quote", "bar");
|
||||
grub_keymap_add_by_string("question", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("tilde", "A1");
|
||||
grub_keymap_add_by_string("caret", "A3");
|
||||
grub_keymap_add_by_string("backslash", "Aq");
|
||||
grub_keymap_add_by_string("bar", "Aw");
|
||||
grub_keymap_add_by_string("bracketleft", "Af");
|
||||
grub_keymap_add_by_string("bracketright", "Ag");
|
||||
grub_keymap_add_by_string("dollar", "Asemicolon");
|
||||
grub_keymap_add_by_string("numbersign", "Ax");
|
||||
grub_keymap_add_by_string("ampersand", "Ac");
|
||||
grub_keymap_add_by_string("at", "Av");
|
||||
grub_keymap_add_by_string("braceleft", "Ab");
|
||||
grub_keymap_add_by_string("braceright", "An");
|
||||
grub_keymap_add_by_string("less", "Acomma");
|
||||
grub_keymap_add_by_string("greater", "Aperiod");
|
||||
grub_keymap_add_by_string("asterisk", "Aslash");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_DANISH(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("plus", "minus");
|
||||
grub_keymap_add_by_string("quote", "equal");
|
||||
grub_keymap_add_by_string("doublequote", "bracketright");
|
||||
grub_keymap_add_by_string("quote", "backslash");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("caret", "braceright");
|
||||
grub_keymap_add_by_string("asterisk", "bar");
|
||||
grub_keymap_add_by_string("backquote", "plus");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("bar", "Atilde");
|
||||
grub_keymap_add_by_string("backslash", "Abackquote");
|
||||
grub_keymap_add_by_string("greater", "tilde");
|
||||
grub_keymap_add_by_string("at", "A2");
|
||||
grub_keymap_add_by_string("dollar", "A4");
|
||||
grub_keymap_add_by_string("braceleft", "A7");
|
||||
grub_keymap_add_by_string("bracketleft", "A8");
|
||||
grub_keymap_add_by_string("bracketright", "A9");
|
||||
grub_keymap_add_by_string("braceright", "A0");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("less", "quote");
|
||||
grub_keymap_add_by_string("greater", "doublequote");
|
||||
grub_keymap_add_by_string("tilde", "Abracketright");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_DVORAK_USA(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("[", "minus");
|
||||
grub_keymap_add_by_string("braceleft", "underscore");
|
||||
grub_keymap_add_by_string("quote", "q");
|
||||
grub_keymap_add_by_string("doublequote", "Q");
|
||||
grub_keymap_add_by_string("comma", "w");
|
||||
grub_keymap_add_by_string("less", "W");
|
||||
grub_keymap_add_by_string("s", "semicolon");
|
||||
grub_keymap_add_by_string("S", "colon");
|
||||
grub_keymap_add_by_string("semicolon", "z");
|
||||
grub_keymap_add_by_string("colon", "Z");
|
||||
grub_keymap_add_by_string("w", "comma");
|
||||
grub_keymap_add_by_string("W", "less");
|
||||
grub_keymap_add_by_string("v", "period");
|
||||
grub_keymap_add_by_string("z", "greater");
|
||||
grub_keymap_add_by_string("z", "slash");
|
||||
grub_keymap_add_by_string("equal", "bracketright");
|
||||
grub_keymap_add_by_string("backslash", "backslash");
|
||||
grub_keymap_add_by_string("underscore", "doublequote");
|
||||
grub_keymap_add_by_string("quote", "q");
|
||||
grub_keymap_add_by_string("doublequote", "Q");
|
||||
grub_keymap_add_by_string("comma", "w");
|
||||
grub_keymap_add_by_string("less", "W");
|
||||
grub_keymap_add_by_string("period", "e");
|
||||
grub_keymap_add_by_string("greater", "E");
|
||||
grub_keymap_add_by_string("p", "r");
|
||||
grub_keymap_add_by_string("P", "R");
|
||||
grub_keymap_add_by_string("y", "t");
|
||||
grub_keymap_add_by_string("Y", "T");
|
||||
grub_keymap_add_by_string("f", "y");
|
||||
grub_keymap_add_by_string("F", "Y");
|
||||
grub_keymap_add_by_string("g", "u");
|
||||
grub_keymap_add_by_string("G", "U");
|
||||
grub_keymap_add_by_string("c", "c");
|
||||
grub_keymap_add_by_string("C", "I");
|
||||
grub_keymap_add_by_string("r", "o");
|
||||
grub_keymap_add_by_string("R", "O");
|
||||
grub_keymap_add_by_string("l", "p");
|
||||
grub_keymap_add_by_string("L", "P");
|
||||
grub_keymap_add_by_string("bracketright", "equal");
|
||||
grub_keymap_add_by_string("braceright", "plus");
|
||||
grub_keymap_add_by_string("a", "a");
|
||||
grub_keymap_add_by_string("A", "A");
|
||||
grub_keymap_add_by_string("o", "s");
|
||||
grub_keymap_add_by_string("O", "S");
|
||||
grub_keymap_add_by_string("e", "d");
|
||||
grub_keymap_add_by_string("E", "D");
|
||||
grub_keymap_add_by_string("u", "f");
|
||||
grub_keymap_add_by_string("U", "F");
|
||||
grub_keymap_add_by_string("i", "g");
|
||||
grub_keymap_add_by_string("I", "G");
|
||||
grub_keymap_add_by_string("d", "h");
|
||||
grub_keymap_add_by_string("D", "H");
|
||||
grub_keymap_add_by_string("h", "j");
|
||||
grub_keymap_add_by_string("H", "J");
|
||||
grub_keymap_add_by_string("t", "k");
|
||||
grub_keymap_add_by_string("T", "K");
|
||||
grub_keymap_add_by_string("n", "l");
|
||||
grub_keymap_add_by_string("N", "L");
|
||||
grub_keymap_add_by_string("s", "semicolon");
|
||||
grub_keymap_add_by_string("S", "colon");
|
||||
grub_keymap_add_by_string("minus", "quote");
|
||||
grub_keymap_add_by_string("underscore", "doublequote");
|
||||
grub_keymap_add_by_string("semicolon", "z");
|
||||
grub_keymap_add_by_string("colon", "Z");
|
||||
grub_keymap_add_by_string("q", "x");
|
||||
grub_keymap_add_by_string("Q", "X");
|
||||
grub_keymap_add_by_string("j", "c");
|
||||
grub_keymap_add_by_string("J", "C");
|
||||
grub_keymap_add_by_string("k", "v");
|
||||
grub_keymap_add_by_string("K", "V");
|
||||
grub_keymap_add_by_string("x", "b");
|
||||
grub_keymap_add_by_string("X", "B");
|
||||
grub_keymap_add_by_string("b", "n");
|
||||
grub_keymap_add_by_string("B", "N");
|
||||
grub_keymap_add_by_string("w", "comma");
|
||||
grub_keymap_add_by_string("W", "less");
|
||||
grub_keymap_add_by_string("v", "period");
|
||||
grub_keymap_add_by_string("V", "greater");
|
||||
grub_keymap_add_by_string("z", "slash");
|
||||
grub_keymap_add_by_string("Z", "question");
|
||||
grub_keymap_add_by_string("slash", "bracketleft");
|
||||
grub_keymap_add_by_string("question", "braceleft");
|
||||
grub_keymap_add_by_string("equal", "bracketright");
|
||||
grub_keymap_add_by_string("plus", "braceright");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_FRENCH(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("less", "backquote");
|
||||
grub_keymap_add_by_string("greater", "tilde");
|
||||
grub_keymap_add_by_string("ampersand", "1");
|
||||
grub_keymap_add_by_string("1", "exclam");
|
||||
grub_keymap_add_by_string("tilde", "2");
|
||||
grub_keymap_add_by_string("2", "at");
|
||||
grub_keymap_add_by_string("doublequote", "3");
|
||||
grub_keymap_add_by_string("3", "numbersign");
|
||||
grub_keymap_add_by_string("quote", "4");
|
||||
grub_keymap_add_by_string("4", "dollar");
|
||||
grub_keymap_add_by_string("parenleft", "5");
|
||||
grub_keymap_add_by_string("5", "percent");
|
||||
grub_keymap_add_by_string("minus", "6");
|
||||
grub_keymap_add_by_string("6", "caret");
|
||||
grub_keymap_add_by_string("backquote", "7");
|
||||
grub_keymap_add_by_string("7", "ampersand");
|
||||
grub_keymap_add_by_string("underscore", "8");
|
||||
grub_keymap_add_by_string("8", "asterisk");
|
||||
grub_keymap_add_by_string("backslash", "9");
|
||||
grub_keymap_add_by_string("9", "parenleft");
|
||||
grub_keymap_add_by_string("at", "0");
|
||||
grub_keymap_add_by_string("0", "parenright");
|
||||
grub_keymap_add_by_string("parenright", "minus");
|
||||
grub_keymap_add_by_string("numbersign", "underscore");
|
||||
grub_keymap_add_by_string("a", "q");
|
||||
grub_keymap_add_by_string("A", "Q");
|
||||
grub_keymap_add_by_string("z", "w");
|
||||
grub_keymap_add_by_string("Z", "W");
|
||||
grub_keymap_add_by_string("caret", "bracketleft");
|
||||
grub_keymap_add_by_string("dollar", "bracketright");
|
||||
grub_keymap_add_by_string("q", "a");
|
||||
grub_keymap_add_by_string("Q", "A");
|
||||
grub_keymap_add_by_string("m", "semicolon");
|
||||
grub_keymap_add_by_string("M", "colon");
|
||||
grub_keymap_add_by_string("bracketleft", "quote");
|
||||
grub_keymap_add_by_string("percent", "doublequote");
|
||||
grub_keymap_add_by_string("asterisk", "backslash");
|
||||
grub_keymap_add_by_string("bracketright", "bar");
|
||||
grub_keymap_add_by_string("w", "z");
|
||||
grub_keymap_add_by_string("W", "Z");
|
||||
grub_keymap_add_by_string("comma", "m");
|
||||
grub_keymap_add_by_string("question", "M");
|
||||
grub_keymap_add_by_string("semicolon", "comma");
|
||||
grub_keymap_add_by_string("period", "less");
|
||||
grub_keymap_add_by_string("colon", "period");
|
||||
grub_keymap_add_by_string("slash", "greater");
|
||||
grub_keymap_add_by_string("exclam", "slash");
|
||||
grub_keymap_add_by_string("bar", "question");
|
||||
grub_keymap_add_by_string("tilde", "A2");
|
||||
grub_keymap_add_by_string("numbersign", "A3");
|
||||
grub_keymap_add_by_string("braceleft", "A4");
|
||||
grub_keymap_add_by_string("bracketleft", "A5");
|
||||
grub_keymap_add_by_string("bar", "A6");
|
||||
grub_keymap_add_by_string("quote", "A7");
|
||||
grub_keymap_add_by_string("backslash", "A8");
|
||||
grub_keymap_add_by_string("caret", "A9");
|
||||
grub_keymap_add_by_string("at", "A0");
|
||||
grub_keymap_add_by_string("bracketright", "Aminus");
|
||||
grub_keymap_add_by_string("braceright", "Aequal");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_GERMAN(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("backslash", "minus");
|
||||
grub_keymap_add_by_string("z", "y");
|
||||
grub_keymap_add_by_string("Z", "Y");
|
||||
grub_keymap_add_by_string("y", "z");
|
||||
grub_keymap_add_by_string("Y", "Z");
|
||||
grub_keymap_add_by_string("plus", "bracketright");
|
||||
grub_keymap_add_by_string("asterisk", "braceright");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("caret", "backquote");
|
||||
grub_keymap_add_by_string("quote", "equal");
|
||||
grub_keymap_add_by_string("backquote", "plus");
|
||||
grub_keymap_add_by_string("braceright", "doublequote");
|
||||
grub_keymap_add_by_string("bar", "bracketleft");
|
||||
grub_keymap_add_by_string("at", "braceleft");
|
||||
grub_keymap_add_by_string("numbersign", "backslash");
|
||||
grub_keymap_add_by_string("at", "Aq");
|
||||
grub_keymap_add_by_string("less", "backquote");
|
||||
grub_keymap_add_by_string("greater", "tilde");
|
||||
grub_keymap_add_by_string("braceleft", "A7");
|
||||
grub_keymap_add_by_string("bracketleft", "A8");
|
||||
grub_keymap_add_by_string("bracketright", "A9");
|
||||
grub_keymap_add_by_string("braceright", "A0");
|
||||
grub_keymap_add_by_string("tilde", "Abracketright");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("quote", "bar");
|
||||
grub_keymap_add_by_string("greater", "semicolon");
|
||||
grub_keymap_add_by_string("less", "colon");
|
||||
grub_keymap_add_by_string("bar", "quote");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_ITALIANO(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("backslash", "backquote");
|
||||
grub_keymap_add_by_string("bar", "tilde");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("tilde", "numbersign");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("quote", "minus");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("caret", "plus");
|
||||
grub_keymap_add_by_string("bracketleft", "bracketleft");
|
||||
grub_keymap_add_by_string("bracketright", "braceleft");
|
||||
grub_keymap_add_by_string("plus", "bracketright");
|
||||
grub_keymap_add_by_string("asterisk", "braceright");
|
||||
grub_keymap_add_by_string("at", "semicolon");
|
||||
grub_keymap_add_by_string("braceleft", "colon");
|
||||
grub_keymap_add_by_string("numbersign", "quote");
|
||||
grub_keymap_add_by_string("braceright", "doublequote");
|
||||
grub_keymap_add_by_string("less", "backslash");
|
||||
grub_keymap_add_by_string("greater", "bar");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("bracketleft", "Abracketleft");
|
||||
grub_keymap_add_by_string("bracketright", "Abracketright");
|
||||
grub_keymap_add_by_string("at", "Asemicolon");
|
||||
grub_keymap_add_by_string("numbersign", "Aquote");
|
||||
grub_keymap_add_by_string("braceright", "Abraceright");
|
||||
grub_keymap_add_by_string("braceleft", "Abraceleft");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_JAPAN_106(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("at", "bracketleft");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("quote", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("underscore", "parenright");
|
||||
grub_keymap_add_by_string("equal", "underscore");
|
||||
grub_keymap_add_by_string("plus", "colon");
|
||||
grub_keymap_add_by_string("colon", "quote");
|
||||
grub_keymap_add_by_string("asterisk", "doublequote");
|
||||
grub_keymap_add_by_string("bracketleft", "bracketright");
|
||||
grub_keymap_add_by_string("braceleft", "braceright");
|
||||
grub_keymap_add_by_string("bracketright", "backslash");
|
||||
grub_keymap_add_by_string("braceright", "bar");
|
||||
grub_keymap_add_by_string("backslash", "backquote");
|
||||
grub_keymap_add_by_string("tilde", "plus");
|
||||
grub_keymap_add_by_string("caret", "equal");
|
||||
grub_keymap_add_by_string("backquote", "braceleft");
|
||||
grub_keymap_add_by_string("bar", "tilde");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_LATIN_USA(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("bar", "backquote");
|
||||
grub_keymap_add_by_string("quote", "minus");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("backquote", "bracketleft");
|
||||
grub_keymap_add_by_string("plus", "bracketright");
|
||||
grub_keymap_add_by_string("braceleft", "quote");
|
||||
grub_keymap_add_by_string("braceright", "backslash");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("asterisk", "braceright");
|
||||
grub_keymap_add_by_string("bracketleft", "doublequote");
|
||||
grub_keymap_add_by_string("bracketright", "bar");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("caret", "Aquote");
|
||||
grub_keymap_add_by_string("doublequote", "braceleft");
|
||||
grub_keymap_add_by_string("at", "Aq");
|
||||
grub_keymap_add_by_string("backquote", "Abackslash");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("greater", "plus");
|
||||
grub_keymap_add_by_string("less", "equal");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("backquote", "Abackslash");
|
||||
grub_keymap_add_by_string("tilde", "Abracketright");
|
||||
grub_keymap_add_by_string("caret", "Aquote");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_PORTU_BRAZIL(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("quote", "backquote");
|
||||
grub_keymap_add_by_string("quote", "bracketleft");
|
||||
grub_keymap_add_by_string("bracketleft", "bracketright");
|
||||
grub_keymap_add_by_string("tilde", "quote");
|
||||
grub_keymap_add_by_string("bracketright", "backslash");
|
||||
grub_keymap_add_by_string("semicolon", "slash");
|
||||
grub_keymap_add_by_string("bar", "colon");
|
||||
grub_keymap_add_by_string("doublequote", "tilde");
|
||||
grub_keymap_add_by_string("backquote", "braceleft");
|
||||
grub_keymap_add_by_string("braceleft", "braceright");
|
||||
grub_keymap_add_by_string("caret", "doublequote");
|
||||
grub_keymap_add_by_string("braceright", "bar");
|
||||
grub_keymap_add_by_string("colon", "question");
|
||||
grub_keymap_add_by_string("backslash", "semicolon");
|
||||
grub_keymap_add_by_string("bar", "Atilde");
|
||||
grub_keymap_add_by_string("backslash", "Abackquote");
|
||||
grub_keymap_add_by_string("slash", "Aq");
|
||||
grub_keymap_add_by_string("question", "Aw");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_QWERTY_UK(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("at", "doublequote");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("tilde", "bar");
|
||||
grub_keymap_add_by_string("numbersign", "backslash");
|
||||
grub_keymap_add_by_string("backslash", "numbersign");
|
||||
grub_keymap_add_by_string("bar", "tilde");
|
||||
grub_keymap_add_by_string("backslash", "Atilde");
|
||||
grub_keymap_add_by_string("backslash", "Abackquote");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_QWERTZ(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "percent");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("backslash", "minus");
|
||||
grub_keymap_add_by_string("z", "y");
|
||||
grub_keymap_add_by_string("Z", "Y");
|
||||
grub_keymap_add_by_string("y", "z");
|
||||
grub_keymap_add_by_string("Y", "Z");
|
||||
grub_keymap_add_by_string("plus", "bracketright");
|
||||
grub_keymap_add_by_string("asterisk", "braceright");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("caret", "backquote");
|
||||
grub_keymap_add_by_string("backquote", "equal");
|
||||
grub_keymap_add_by_string("numbersign", "backslash");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("percent", "caret");
|
||||
grub_keymap_add_by_string("less", "numbersign");
|
||||
grub_keymap_add_by_string("greater", "bar");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_QWERTZ_HUN(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("y", "z");
|
||||
grub_keymap_add_by_string("z", "y");
|
||||
grub_keymap_add_by_string("Y", "Z");
|
||||
grub_keymap_add_by_string("Z", "Y");
|
||||
grub_keymap_add_by_string("0", "backquote");
|
||||
grub_keymap_add_by_string("quote", "exclam");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("plus", "numbersign");
|
||||
grub_keymap_add_by_string("exclam", "dollar");
|
||||
grub_keymap_add_by_string("slash", "caret");
|
||||
grub_keymap_add_by_string("equal", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("backslash", "Aq");
|
||||
grub_keymap_add_by_string("bar", "Aw");
|
||||
grub_keymap_add_by_string("bracketleft", "Af");
|
||||
grub_keymap_add_by_string("bracketright", "Ag");
|
||||
grub_keymap_add_by_string("greater", "Az");
|
||||
grub_keymap_add_by_string("numbersign", "Ax");
|
||||
grub_keymap_add_by_string("ampersand", "Ac");
|
||||
grub_keymap_add_by_string("at", "Av");
|
||||
grub_keymap_add_by_string("braceleft", "Ab");
|
||||
grub_keymap_add_by_string("braceright", "An");
|
||||
grub_keymap_add_by_string("less", "Am");
|
||||
grub_keymap_add_by_string("dollar", "colon");
|
||||
grub_keymap_add_by_string("question", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("at", "doublequote");
|
||||
grub_keymap_add_by_string("tilde", "A1");
|
||||
grub_keymap_add_by_string("caret", "A3");
|
||||
grub_keymap_add_by_string("backquote", "A7");
|
||||
grub_keymap_add_by_string("asterisk", "0");
|
||||
grub_keymap_add_by_string("dollar", "Asemicolon");
|
||||
grub_keymap_add_by_string("semicolon", "Acomma");
|
||||
grub_keymap_add_by_string("greater", "Aperiod");
|
||||
grub_keymap_add_by_string("asterisk", "Aslash");
|
||||
grub_keymap_add_by_string("backquote", "A9");
|
||||
grub_keymap_add_by_string("doublequote", "A0");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_QWERTZ_SLOV_CROAT(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("quote", "minus");
|
||||
grub_keymap_add_by_string("plus", "equal");
|
||||
grub_keymap_add_by_string("y", "z");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("doublequote", "tilde");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("asterisk", "plus");
|
||||
grub_keymap_add_by_string("Y", "Z");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("tilde", "A1");
|
||||
grub_keymap_add_by_string("caret", "A3");
|
||||
grub_keymap_add_by_string("backquote", "A7");
|
||||
grub_keymap_add_by_string("backslash", "Aq");
|
||||
grub_keymap_add_by_string("bar", "Aw");
|
||||
grub_keymap_add_by_string("bracketleft", "Af");
|
||||
grub_keymap_add_by_string("bracketright", "Ag");
|
||||
grub_keymap_add_by_string("at", "Av");
|
||||
grub_keymap_add_by_string("braceleft", "Ab");
|
||||
grub_keymap_add_by_string("braceright", "An");
|
||||
grub_keymap_add_by_string("less", "Acomma");
|
||||
grub_keymap_add_by_string("greater", "Aperiod");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_SPANISH(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("caret", "braceleft");
|
||||
grub_keymap_add_by_string("asterisk", "braceright");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("quote", "minus");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("greater", "bar");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("backslash", "backquote");
|
||||
grub_keymap_add_by_string("less", "backslash");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("backquote", "bracketleft");
|
||||
grub_keymap_add_by_string("plus", "bracketright");
|
||||
grub_keymap_add_by_string("plus", "colon");
|
||||
grub_keymap_add_by_string("at", "semicolon");
|
||||
grub_keymap_add_by_string("bar", "A1");
|
||||
grub_keymap_add_by_string("at", "A2");
|
||||
grub_keymap_add_by_string("numbersign", "A3");
|
||||
grub_keymap_add_by_string("tilde", "A4");
|
||||
grub_keymap_add_by_string("bracketleft", "Abracketleft");
|
||||
grub_keymap_add_by_string("bracketright", "Abracketright");
|
||||
grub_keymap_add_by_string("braceleft", "Aquote");
|
||||
grub_keymap_add_by_string("braceright", "Abackslash");
|
||||
grub_keymap_add_by_string("greater", "bar");
|
||||
grub_keymap_add_by_string("less", "backslash");
|
||||
grub_keymap_add_by_string("backslash", "Abackquote");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_SWEDISH(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("plus", "minus");
|
||||
grub_keymap_add_by_string("quote", "equal");
|
||||
grub_keymap_add_by_string("doublequote", "bracketright");
|
||||
grub_keymap_add_by_string("quote", "backslash");
|
||||
grub_keymap_add_by_string("minus", "slash");
|
||||
grub_keymap_add_by_string("doublequote", "at");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("caret", "braceright");
|
||||
grub_keymap_add_by_string("asterisk", "bar");
|
||||
grub_keymap_add_by_string("backquote", "plus");
|
||||
grub_keymap_add_by_string("semicolon", "less");
|
||||
grub_keymap_add_by_string("colon", "greater");
|
||||
grub_keymap_add_by_string("underscore", "question");
|
||||
grub_keymap_add_by_string("bar", "Atilde");
|
||||
grub_keymap_add_by_string("backslash", "Abackquote");
|
||||
grub_keymap_add_by_string("greater", "tilde");
|
||||
grub_keymap_add_by_string("at", "A2");
|
||||
grub_keymap_add_by_string("dollar", "A4");
|
||||
grub_keymap_add_by_string("braceleft", "A7");
|
||||
grub_keymap_add_by_string("bracketleft", "A8");
|
||||
grub_keymap_add_by_string("bracketright", "A9");
|
||||
grub_keymap_add_by_string("braceright", "A0");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("less", "quote");
|
||||
grub_keymap_add_by_string("greater", "doublequote");
|
||||
grub_keymap_add_by_string("tilde", "Abracketright");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_TURKISH_Q(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("doublequote", "backquote");
|
||||
grub_keymap_add_by_string("asterisk", "minus");
|
||||
grub_keymap_add_by_string("minus", "equal");
|
||||
grub_keymap_add_by_string("comma", "backslash");
|
||||
grub_keymap_add_by_string("period", "slash");
|
||||
grub_keymap_add_by_string("quote", "at");
|
||||
grub_keymap_add_by_string("caret", "numbersign");
|
||||
grub_keymap_add_by_string("plus", "dollar");
|
||||
grub_keymap_add_by_string("ampersand", "caret");
|
||||
grub_keymap_add_by_string("slash", "ampersand");
|
||||
grub_keymap_add_by_string("parenleft", "asterisk");
|
||||
grub_keymap_add_by_string("parenright", "parenleft");
|
||||
grub_keymap_add_by_string("equal", "parenright");
|
||||
grub_keymap_add_by_string("question", "underscore");
|
||||
grub_keymap_add_by_string("underscore", "plus");
|
||||
grub_keymap_add_by_string("semicolon", "bar");
|
||||
grub_keymap_add_by_string("colon", "question");
|
||||
grub_keymap_add_by_string("less", "Abackquote");
|
||||
grub_keymap_add_by_string("greater", "A1");
|
||||
grub_keymap_add_by_string("numbersign", "A3");
|
||||
grub_keymap_add_by_string("dollar", "A4");
|
||||
grub_keymap_add_by_string("braceleft", "A7");
|
||||
grub_keymap_add_by_string("bracketleft", "A8");
|
||||
grub_keymap_add_by_string("bracketright", "A9");
|
||||
grub_keymap_add_by_string("braceright", "A0");
|
||||
grub_keymap_add_by_string("backslash", "Aminus");
|
||||
grub_keymap_add_by_string("bar", "Aequal");
|
||||
grub_keymap_add_by_string("at", "Aq");
|
||||
grub_keymap_add_by_string("doublequote", "Abracketleft");
|
||||
grub_keymap_add_by_string("tilde", "Abracketright");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
static void ventoy_keyboard_layout_VIETNAMESE(void) {
|
||||
grub_keymap_reset();
|
||||
grub_keymap_add_by_string("exclam", "A1");
|
||||
grub_keymap_add_by_string("at", "A2");
|
||||
grub_keymap_add_by_string("numbersign", "A3");
|
||||
grub_keymap_add_by_string("dollar", "A4");
|
||||
grub_keymap_add_by_string("percent", "A5");
|
||||
grub_keymap_add_by_string("caret", "A6");
|
||||
grub_keymap_add_by_string("ampersand", "A7");
|
||||
grub_keymap_add_by_string("asterisk", "A8");
|
||||
grub_keymap_add_by_string("parenleft", "A9");
|
||||
grub_keymap_add_by_string("parenright", "A0");
|
||||
grub_keymap_add_by_string("plus", "Aplus");
|
||||
grub_keymap_add_by_string("equal", "Aequal");
|
||||
grub_keymap_add_by_string("braceleft", "Abraceleft");
|
||||
grub_keymap_add_by_string("braceright", "Abraceright");
|
||||
grub_keymap_add_by_string("colon", "Acolon");
|
||||
grub_keymap_add_by_string("semicolon", "Asemicolon");
|
||||
grub_keymap_add_by_string("quote", "Aquote");
|
||||
grub_keymap_add_by_string("backslash", "Abackslash");
|
||||
grub_keymap_add_by_string("less", "Aless");
|
||||
grub_keymap_add_by_string("greater", "Agreater");
|
||||
grub_keymap_add_by_string("comma", "Acomma");
|
||||
grub_keymap_add_by_string("period", "Aperiod");
|
||||
grub_keymap_add_by_string("question", "Aquestion");
|
||||
grub_keymap_add_by_string("slash", "Aslash");
|
||||
grub_keymap_add_by_string("tilde", "Atilde");
|
||||
grub_keymap_add_by_string("backquote", "Abackquote");
|
||||
grub_keymap_add_by_string("bracketright", "Abracketright");
|
||||
grub_keymap_add_by_string("bracketleft", "Abracketleft");
|
||||
grub_keymap_add_by_string("bar", "Abar");
|
||||
grub_keymap_add_by_string("doublequote", "Adoublequote");
|
||||
grub_keymap_add_by_string("colon", "Acolon");
|
||||
grub_keymap_add_by_string("minus", "Aminus");
|
||||
grub_keymap_add_by_string("underscore", "Aunderscore");
|
||||
grub_keymap_enable();
|
||||
}
|
||||
void ventoy_set_keyboard_layout(const char *layout);
|
||||
void ventoy_set_keyboard_layout(const char *layout) {
|
||||
ventoy_keyboard_set_layout(QWERTY_USA);
|
||||
ventoy_keyboard_set_layout(AZERTY);
|
||||
ventoy_keyboard_set_layout(CZECH_QWERTY);
|
||||
ventoy_keyboard_set_layout(CZECH_QWERTZ);
|
||||
ventoy_keyboard_set_layout(DANISH);
|
||||
ventoy_keyboard_set_layout(DVORAK_USA);
|
||||
ventoy_keyboard_set_layout(FRENCH);
|
||||
ventoy_keyboard_set_layout(GERMAN);
|
||||
ventoy_keyboard_set_layout(ITALIANO);
|
||||
ventoy_keyboard_set_layout(JAPAN_106);
|
||||
ventoy_keyboard_set_layout(LATIN_USA);
|
||||
ventoy_keyboard_set_layout(PORTU_BRAZIL);
|
||||
ventoy_keyboard_set_layout(QWERTY_UK);
|
||||
ventoy_keyboard_set_layout(QWERTZ);
|
||||
ventoy_keyboard_set_layout(QWERTZ_HUN);
|
||||
ventoy_keyboard_set_layout(QWERTZ_SLOV_CROAT);
|
||||
ventoy_keyboard_set_layout(SPANISH);
|
||||
ventoy_keyboard_set_layout(SWEDISH);
|
||||
ventoy_keyboard_set_layout(TURKISH_Q);
|
||||
ventoy_keyboard_set_layout(VIETNAMESE);
|
||||
}
|
@@ -4,12 +4,13 @@
|
||||
# Configfiles are from grubfilemanager project
|
||||
#
|
||||
|
||||
cfgfile=../INSTALL/grub/keyboard.cfg
|
||||
rm -f ${cfgfile}.gz
|
||||
|
||||
echo "submenu \"Keyboard Layouts\" --class=debug_krdlayout {" >>$cfgfile
|
||||
cfgfile=keyboard_layout.c
|
||||
rm -f ${cfgfile}
|
||||
|
||||
cat >>$cfgfile << EOF
|
||||
|
||||
#define ventoy_keyboard_set_layout(name) if (grub_strcmp(layout, #name) == 0) return ventoy_keyboard_layout_##name()
|
||||
|
||||
menuentry QWERTY_USA --class=debug_kbd {
|
||||
setkey -r
|
||||
setkey -d
|
||||
@@ -25,6 +26,59 @@ ls -1 cfg | while read line; do
|
||||
echo "}" >> $cfgfile
|
||||
done
|
||||
|
||||
dos2unix $cfgfile
|
||||
sed 's/menuentry \([^ ]*\) .*/static void ventoy_keyboard_layout_\1(void) {/g' -i $cfgfile
|
||||
sed 's/setkey *-r/grub_keymap_reset();/g' -i $cfgfile
|
||||
sed 's/setkey *-d/grub_keymap_disable();/g' -i $cfgfile
|
||||
sed 's/setkey *-e/grub_keymap_enable();/g' -i $cfgfile
|
||||
sed 's/^setkey *\([^ ]*\) *\([^ ]*\)/grub_keymap_add_by_string("\1", "\2");/g' -i $cfgfile
|
||||
|
||||
rm -f .tmpfunc
|
||||
echo "void ventoy_set_keyboard_layout(const char *layout);" >> .tmpfunc
|
||||
echo "void ventoy_set_keyboard_layout(const char *layout) {" >> .tmpfunc
|
||||
grep 'void *ventoy_keyboard_layout_' $cfgfile | while read line; do
|
||||
name=$(echo $line | sed 's/.*ventoy_keyboard_layout_\(.*\)(.*/\1/g')
|
||||
echo "ventoy_keyboard_set_layout($name);" >> .tmpfunc
|
||||
done
|
||||
|
||||
echo "}" >> .tmpfunc
|
||||
|
||||
cat .tmpfunc >> $cfgfile
|
||||
rm -f .tmpfunc
|
||||
|
||||
rm -f ../GRUB2/SRC/grub-2.04/grub-core/term/$cfgfile
|
||||
cp -a $cfgfile ../GRUB2/SRC/grub-2.04/grub-core/term/$cfgfile
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
############
|
||||
#
|
||||
# cfg
|
||||
#############
|
||||
|
||||
cfgfile=../INSTALL/grub/keyboard.cfg
|
||||
rm -f ${cfgfile}
|
||||
|
||||
echo "submenu \"Keyboard Layouts\" --class=debug_krdlayout {" >>$cfgfile
|
||||
|
||||
cat >>$cfgfile << EOF
|
||||
menuentry QWERTY_USA --class=debug_kbd {
|
||||
set_keyboard_layout QWERTY_USA
|
||||
}
|
||||
EOF
|
||||
|
||||
ls -1 cfg | while read line; do
|
||||
kbd=${line%.cfg}
|
||||
name=${kbd#KBD_}
|
||||
|
||||
echo " menuentry $name --class=debug_kbd {" >> $cfgfile
|
||||
echo " set_keyboard_layout $name" >> $cfgfile
|
||||
echo " }" >> $cfgfile
|
||||
done
|
||||
|
||||
echo "}" >>$cfgfile
|
||||
|
||||
gzip $cfgfile
|
||||
|
||||
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user