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