diff --git a/dix/getevents.c b/dix/getevents.c index 3713f4b08..e11131148 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -696,7 +696,8 @@ GetKeyboardValuatorEvents(EventList *events, DeviceIntPtr pDev, int type, return 0; map = pDev->key->curKeySyms.map; - sym = map[key_code * pDev->key->curKeySyms.mapWidth]; + sym = map[(key_code - pDev->key->curKeySyms.minKeyCode) + * pDev->key->curKeySyms.mapWidth]; master = pDev->u.master; if (master && master->u.lastSlave != pDev)