dix: don't BUG_WARN for button events from button-only device
Events from button-only devices still need coordinates, and they get them from scale_to_desktop(). Therefore, a dev without valuators is not a bug. However, a dev with valuators, but less than two of them still is a bug. This was noticed when unplugging a "Creative Technology SB Arena Headset", which has some BTNs and some KEYs, but no REL or ABS valuators. It emits [BTN_3] = 0 on unplug, which would trigger the BUG_WARN. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Reviewed-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
		
							parent
							
								
									72cfc1a097
								
							
						
					
					
						commit
						c5a45b0f76
					
				| 
						 | 
				
			
			@ -848,7 +848,7 @@ scale_to_desktop(DeviceIntPtr dev, ValuatorMask *mask,
 | 
			
		|||
    ScreenPtr scr = miPointerGetScreen(dev);
 | 
			
		||||
    double x, y;
 | 
			
		||||
 | 
			
		||||
    BUG_WARN(!dev->valuator || dev->valuator->numAxes < 2);
 | 
			
		||||
    BUG_WARN(dev->valuator && dev->valuator->numAxes < 2);
 | 
			
		||||
    if (!dev->valuator || dev->valuator->numAxes < 2) {
 | 
			
		||||
        /* if we have no axes, last.valuators must be in screen coords
 | 
			
		||||
         * anyway */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue