Don't report old relative values in getValuatorEvents
Relative valuator values should not be reported in any future events. If a relative valuator value is not set in an internal event, set the value to 0 for XI 1.x valuator events sent over the wire. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Simon Thum <simon.thum@gmx.de> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
8199eac443
commit
f40103cee1
|
@ -408,8 +408,10 @@ getValuatorEvents(DeviceEvent *ev, deviceValuator *xv)
|
||||||
for (j = 0; j < xv->num_valuators; j++) {
|
for (j = 0; j < xv->num_valuators; j++) {
|
||||||
if (BitIsOn(ev->valuators.mask, xv->first_valuator + j))
|
if (BitIsOn(ev->valuators.mask, xv->first_valuator + j))
|
||||||
valuators[j] = ev->valuators.data[xv->first_valuator + j];
|
valuators[j] = ev->valuators.data[xv->first_valuator + j];
|
||||||
else
|
else if (dev->valuator->axes[xv->first_valuator + j].mode == Absolute)
|
||||||
valuators[j] = dev->valuator->axisVal[xv->first_valuator + j];
|
valuators[j] = dev->valuator->axisVal[xv->first_valuator + j];
|
||||||
|
else
|
||||||
|
valuators[j] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i + 6 < num_valuators)
|
if (i + 6 < num_valuators)
|
||||||
|
|
Loading…
Reference in New Issue