From 1d31ed778284082e1060bff63317c94581d9eb9b Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Fri, 21 Jul 2006 19:02:52 -0400 Subject: [PATCH] xephyr: load keysyms at init, not enable Load keysyms at init time, not enable, so we don't get the wrong map width. --- hw/kdrive/ephyr/ephyr.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c index 6a337bca3..86a072d4d 100644 --- a/hw/kdrive/ephyr/ephyr.c +++ b/hw/kdrive/ephyr/ephyr.c @@ -907,9 +907,17 @@ EphyrKeyboardInit (KdKeyboardInfo *ki) { ki->driverPrivate = (EphyrKbdPrivate *) xcalloc(sizeof(EphyrKbdPrivate), 1); - /* FIXME blah blah overrunning memory blah blah */ - ki->minScanCode = ki->keySyms.minKeyCode = 0; - ki->maxScanCode = ki->keySyms.maxKeyCode = 255; + hostx_load_keymap(); + if (!ephyrKeySyms.map) { + ErrorF("Couldn't load keymap from host\n"); + return BadAlloc; + } + ki->keySyms.minKeyCode = ephyrKeySyms.minKeyCode; + ki->keySyms.maxKeyCode = ephyrKeySyms.maxKeyCode; + ki->minScanCode = ki->keySyms.minKeyCode; + ki->maxScanCode = ki->keySyms.maxKeyCode; + ki->keySyms.mapWidth = ephyrKeySyms.mapWidth; + ki->keySyms.map = ephyrKeySyms.map; ephyrKbd = ki; return Success; } @@ -917,17 +925,6 @@ EphyrKeyboardInit (KdKeyboardInfo *ki) static Status EphyrKeyboardEnable (KdKeyboardInfo *ki) { - hostx_load_keymap(); - if (!ephyrKeySyms.map) { - ErrorF("Couldn't load keymap from host\n"); - return BadAlloc; - } - ki->keySyms.minKeyCode = ephyrKeySyms.minKeyCode; - ki->keySyms.maxKeyCode = ephyrKeySyms.maxKeyCode; - ki->minScanCode = ki->keySyms.minKeyCode; - ki->maxScanCode = ki->keySyms.maxKeyCode; - ki->keySyms.mapWidth = ephyrKeySyms.mapWidth; - ki->keySyms.map = ephyrKeySyms.map; ((EphyrKbdPrivate *)ki->driverPrivate)->enabled = TRUE; return Success;