mirror of
https://github.com/X11Libre/xserver.git
synced 2026-10-09 23:22:22 +00:00
Input: Make DeviceEvent use doubles internally
Change the DeviceEvent InternalEvent to use doubles for its valuators, instead of data and data_frac. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
626f487b97
commit
2d9beeb217
5 changed files with 9 additions and 15 deletions
|
|
@ -633,8 +633,9 @@ eventToDeviceEvent(DeviceEvent *ev, xEvent **xi)
|
|||
if (BitIsOn(ev->valuators.mask, i))
|
||||
{
|
||||
SetBit(ptr, i);
|
||||
axisval->integral = ev->valuators.data[i];
|
||||
axisval->frac = ev->valuators.data_frac[i];
|
||||
axisval->integral = trunc(ev->valuators.data[i]);
|
||||
axisval->frac = (ev->valuators.data[i] - axisval->integral) *
|
||||
(1UL << 32);
|
||||
axisval++;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,9 +196,7 @@ set_valuators(DeviceIntPtr dev, DeviceEvent* event, ValuatorMask *mask)
|
|||
SetBit(event->valuators.mask, i);
|
||||
if (valuator_get_mode(dev, i) == Absolute)
|
||||
SetBit(event->valuators.mode, i);
|
||||
event->valuators.data[i] = valuator_mask_get(mask, i);
|
||||
event->valuators.data_frac[i] =
|
||||
dev->last.remainder[i] * (1 << 16) * (1 << 16);
|
||||
event->valuators.data[i] = valuator_mask_get_double(mask, i);
|
||||
}
|
||||
else if (valuator_get_mode(dev, i) == Absolute)
|
||||
event->valuators.data[i] = dev->valuator->axisVal[i];
|
||||
|
|
|
|||
Loading…
Reference in a new issue