dix: store the absolute values in the motion history.
The core protocol requires absolute values and it's a bit hard to get them if we only have relative ones in the history. Switch the motion history to absolute, and if we really need the relative values, we can probably generated them from the abs. ones in the future.
This commit is contained in:
		
							parent
							
								
									1883485edd
								
							
						
					
					
						commit
						5fe57787fa
					
				|  | @ -119,7 +119,7 @@ ProcXGetDeviceMotionEvents(ClientPtr client) | ||||||
|     rep.sequenceNumber = client->sequence; |     rep.sequenceNumber = client->sequence; | ||||||
|     rep.nEvents = 0; |     rep.nEvents = 0; | ||||||
|     rep.axes = axes; |     rep.axes = axes; | ||||||
|     rep.mode = v->mode & DeviceMode; |     rep.mode = Absolute; /* XXX we don't do relative at the moment */ | ||||||
|     rep.length = 0; |     rep.length = 0; | ||||||
|     start = ClientTimeToServerTime(stuff->start); |     start = ClientTimeToServerTime(stuff->start); | ||||||
|     stop = ClientTimeToServerTime(stuff->stop); |     stop = ClientTimeToServerTime(stuff->stop); | ||||||
|  |  | ||||||
|  | @ -1003,10 +1003,11 @@ GetPointerEvents(EventList *events, DeviceIntPtr pDev, int type, int buttons, | ||||||
|     y = rescaleValuatorAxis(pDev->last.valuators[1], NULL, |     y = rescaleValuatorAxis(pDev->last.valuators[1], NULL, | ||||||
|                         pDev->valuator->axes + 1, scr->height); |                         pDev->valuator->axes + 1, scr->height); | ||||||
| 
 | 
 | ||||||
|     updateMotionHistory(pDev, ms, first_valuator, num_valuators, valuators); |     updateMotionHistory(pDev, ms, first_valuator, num_valuators, | ||||||
|  |             &pDev->last.valuators[first_valuator]); | ||||||
|     if (master) |     if (master) | ||||||
|         updateMotionHistory(master, ms, first_valuator, num_valuators, |         updateMotionHistory(master, ms, first_valuator, num_valuators, | ||||||
|                 valuators); |                 &pDev->last.valuators[first_valuator]); | ||||||
| 
 | 
 | ||||||
|     /* Update the valuators with the true value sent to the client*/ |     /* Update the valuators with the true value sent to the client*/ | ||||||
|     if(v0) *v0 = x; |     if(v0) *v0 = x; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue