diff --git a/hw/kdrive/fbdev/fbinit.c b/hw/kdrive/fbdev/fbinit.c index fc13087ad9..0f7e1e510c 100644 --- a/hw/kdrive/fbdev/fbinit.c +++ b/hw/kdrive/fbdev/fbinit.c @@ -64,7 +64,7 @@ void InitInput(int argc, char **argv) { KdOsAddInputDrivers(); - KdInitInput(); + kdInitInputPre(); } void diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h index 4d7fe7579d..8a7c476ef6 100644 --- a/hw/kdrive/src/kdrive.h +++ b/hw/kdrive/src/kdrive.h @@ -472,6 +472,8 @@ void /* kinput.c */ void KdInitInput(void); + void + kdInitInputPre(void); void KdCloseInput(void); diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c index 30fd28bb78..288a1ed82d 100644 --- a/hw/kdrive/src/kinput.c +++ b/hw/kdrive/src/kinput.c @@ -1386,6 +1386,23 @@ KdPointerInfo *KdParsePointer(const char *arg) return pi; } +void +kdInitInputPre(void) +{ + #ifdef KDRIVE_KBD + if (!kdConfigKeyboards) { + KdAddConfigKeyboard("keyboard"); + } + #endif + + #ifdef KDRIVE_MOUSE + if (!kdConfigPointers) { + KdAddConfigPointer("mouse"); + } + #endif + KdInitInput(); +} + void KdInitInput(void) { @@ -1402,18 +1419,6 @@ KdInitInput(void) kdInputEnabled = TRUE; -#ifdef KDRIVE_KBD - if (!kdConfigKeyboards) { - KdAddConfigKeyboard("keyboard"); - } -#endif - -#ifdef KDRIVE_MOUSE - if (!kdConfigPointers) { - KdAddConfigPointer("mouse"); - } -#endif - for (dev = kdConfigPointers; dev; dev = dev->next) { pi = KdParsePointer(dev->line); if (!pi)