aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xorg-server/dix/main.c5
-rw-r--r--xorg-server/hw/xwin/InitInput.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/xorg-server/dix/main.c b/xorg-server/dix/main.c
index 0c9eb7708..0be753742 100644
--- a/xorg-server/dix/main.c
+++ b/xorg-server/dix/main.c
@@ -330,6 +330,11 @@ int main(int argc, char *argv[], char *envp[])
NotifyParentProcess();
+ #ifdef _MSC_VER
+ // initialise here because doing it in InitInput failes because keyboard device is not started yet then
+ winInitializeModeKeyStates ();
+ #endif
+
Dispatch();
UndisplayDevices();
diff --git a/xorg-server/hw/xwin/InitInput.c b/xorg-server/hw/xwin/InitInput.c
index 1f0ec477e..e01a8f655 100644
--- a/xorg-server/hw/xwin/InitInput.c
+++ b/xorg-server/hw/xwin/InitInput.c
@@ -110,8 +110,8 @@ InitInput (int argc, char *argv[])
mieqInit ();
- /* Initialize the mode key states */
- winInitializeModeKeyStates ();
+ /* Do not nitialize the mode key states here yet since the keyboard device is not started yet
+ winInitializeModeKeyStates (); */
#ifdef HAS_DEVWINDOWS
/* Only open the windows message queue device once */