xephyr: load keysyms at init, not enable

Load keysyms at init time, not enable, so we don't get the wrong map width.
This commit is contained in:
Daniel Stone 2006-07-21 19:02:52 -04:00 committed by Daniel Stone
parent 3eeb62e8f5
commit 1d31ed7782

View File

@ -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;