dix: don't update the slave coordinates from the VCK.
A keyboard event from a device with both valuators and keys will be posted through the VCK. In this case, do not update the slave device coordinates from the VCK - they're always 0/0. Leave them as-is, for the next pointer event will continue where it left. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
326429badf
commit
6f265d55a6
|
@ -630,9 +630,12 @@ updateFromMaster(EventListPtr events, DeviceIntPtr dev, int type, int *num_event
|
||||||
if (master && master->last.slave != dev)
|
if (master && master->last.slave != dev)
|
||||||
{
|
{
|
||||||
CreateClassesChangedEvent(events, master, dev, type);
|
CreateClassesChangedEvent(events, master, dev, type);
|
||||||
updateSlaveDeviceCoords(master, dev);
|
if (IsPointerDevice(master))
|
||||||
|
{
|
||||||
|
updateSlaveDeviceCoords(master, dev);
|
||||||
|
master->last.numValuators = dev->last.numValuators;
|
||||||
|
}
|
||||||
master->last.slave = dev;
|
master->last.slave = dev;
|
||||||
master->last.numValuators = dev->last.numValuators;
|
|
||||||
(*num_events)++;
|
(*num_events)++;
|
||||||
events++;
|
events++;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue