mirror of
https://github.com/X11Libre/xf86-input-evdev.git
synced 2026-03-26 02:38:35 +00:00
Ensure all known valuator values are stored when out of proximity
The current code overwrites *all* the stored axis values with whatever came in from evdev. Evdev is a stateful protocol, so it only sends us updates to the axis values that have changed. We need to only update the values that have changed. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
committed by
Peter Hutterer
parent
eeacd3e5a8
commit
68a6a18fc2
@@ -504,7 +504,10 @@ EvdevProcessProximityState(InputInfoPtr pInfo)
|
||||
if (!pEvdev->prox_queued)
|
||||
{
|
||||
if (pEvdev->abs_queued && !pEvdev->in_proximity)
|
||||
valuator_mask_copy(pEvdev->prox, pEvdev->vals);
|
||||
for (i = 0; i < valuator_mask_size(pEvdev->vals); i++)
|
||||
if (valuator_mask_isset(pEvdev->vals, i))
|
||||
valuator_mask_set(pEvdev->prox, i,
|
||||
valuator_mask_get(pEvdev->vals, i));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user