diff options
-rw-r--r-- | loader/kickstart.c | 1 | ||||
-rw-r--r-- | loader/kickstart.h | 1 | ||||
-rw-r--r-- | loader/lang.c | 15 | ||||
-rw-r--r-- | loader/loader.c | 2 |
4 files changed, 12 insertions, 7 deletions
diff --git a/loader/kickstart.c b/loader/kickstart.c index 919066588..e8e5e5a13 100644 --- a/loader/kickstart.c +++ b/loader/kickstart.c @@ -35,6 +35,7 @@ struct ksCommandNames ksTable[] = { { KS_CMD_XDISPLAY, "xdisplay" }, { KS_CMD_DRIVERDISK, "driverdisk" }, { KS_CMD_DEVICEPROBE, "deviceprobe" }, + { KS_CMD_KEYBOARD, "keyboard" }, { KS_CMD_NONE, NULL } }; diff --git a/loader/kickstart.h b/loader/kickstart.h index ca85e3479..856160fc1 100644 --- a/loader/kickstart.h +++ b/loader/kickstart.h @@ -11,6 +11,7 @@ #define KS_CMD_TEXT 8 #define KS_CMD_DRIVERDISK 9 #define KS_CMD_DEVICEPROBE 10 +#define KS_CMD_KEYBOARD 11 int ksReadCommands(char * cmdFile); int ksGetCommand(int cmd, char ** last, int * argc, char *** argv); diff --git a/loader/lang.c b/loader/lang.c index 6ca35c694..a24e37275 100644 --- a/loader/lang.c +++ b/loader/lang.c @@ -22,6 +22,7 @@ #include "misc.h" #include "windows.h" #include "isys/gzlib/gzlib.h" +#include "kickstart.h" #define errorWindow(String) \ newtWinMessage(_("Error"), _("OK"), String, strerror (errno)); @@ -448,6 +449,8 @@ int chooseKeyboard(char ** keymap, char ** kbdtypep, int flags) { int i; char * defkbd = keymap ? *keymap : NULL; char *lang; + int argc; + char **argv; #ifdef __sparc__ #define KBDTYPE_SUN 0 @@ -477,7 +480,7 @@ int chooseKeyboard(char ** keymap, char ** kbdtypep, int flags) { } } } else -#endif +#endif /* kickstart sparc crap */ { char twelve = 12; int fd; @@ -494,7 +497,7 @@ int chooseKeyboard(char ** keymap, char ** kbdtypep, int flags) { } } } -#endif +#endif /* sparc */ if (!languages) loadLanguageList(flags); @@ -514,14 +517,14 @@ int chooseKeyboard(char ** keymap, char ** kbdtypep, int flags) { strcmp(kbdEntry->lang, getenv("LANG"))) kbdEntry++; if (kbdEntry->keyboard) defkbd = kbdEntry->keyboard; -#endif +#endif /* more sparc drain bamage */ } if (!defkbd) #ifdef __sparc__ if (kbdtype == KBDTYPE_SUN) defkbd = "sunkeymap"; else -#endif +#endif /* sparc drain bamage */ defkbd = "us"; f = gunzip_open("/etc/keymaps.gz"); @@ -546,8 +549,7 @@ int chooseKeyboard(char ** keymap, char ** kbdtypep, int flags) { return LOADER_ERROR; } -#if 0 - if (kickstart) { + if (FL_KICKSTART(flags)) { if (!ksGetCommand(KS_CMD_KEYBOARD, NULL, &argc, &argv)) { if (argc < 2) { logMessage("no argument passed to keyboard " @@ -572,7 +574,6 @@ int chooseKeyboard(char ** keymap, char ** kbdtypep, int flags) { } } } -#endif if (num == -1 ) { #ifdef __sparc__ diff --git a/loader/loader.c b/loader/loader.c index 713ab03dc..50cd23046 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -1861,6 +1861,8 @@ static char * setupKickstart(char * location, struct knownDevices * kd, } } + chooseKeyboard(NULL, NULL, flags); + #ifdef INCLUDE_NETWORK if (ksType == KS_CMD_NFS || ksType == KS_CMD_URL) { startNewt(flags); |