xf86-input-evdev: Changes to 'master'
Peter Hutterer
whot at kemper.freedesktop.org
Sun Dec 21 20:58:36 PST 2014
src/emuWheel.c | 2
src/evdev.c | 173 ++++++++++++++++++++++++++++++---------------------------
src/evdev.h | 8 +-
3 files changed, 97 insertions(+), 86 deletions(-)
New commits:
commit 511498478b49aa39629615c110c9d0129fa6bbef
Author: Éric Brunet <Eric.Brunet at lps.ens.fr>
Date: Tue Sep 30 23:04:55 2014 +0200
Move EVDEV_RELATIVE_MODE logic earlier
When in EVDEV_RELATIVE_MODE, after converting the absolute valuators, the
code unsets pEvdev->abs_queued. This is wrong if there are some absolute
valuators which are not positions, such as a pressure valuators, because
events on these valuators would be lost.
This patch fixes the problem by doing the absolute->relative translation
early. This way, abs_queued is not set and then unset when receiving
absolute valuators representing positions. Other absolute events now set abs_queued
and will be processed.
Signed-off-by: Éric Brunet <Eric.Brunet at lps.ens.fr>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
commit 3dcf6f123c54fd3104bcb79677cd347972abea4c
Author: Éric Brunet <Eric.Brunet at lps.ens.fr>
Date: Tue Sep 30 22:32:51 2014 +0200
Don't update old_vals when not in EVDEV_RELATIVE_MODE
When not in EVDEV_RELATIVE_MODE, absolute position is stored in old_vals. This serves
no purpose except that old_vals is ready when the device is switched to
EVDEV_RELATIVE_MODE. It is however better to make the copy between old_vals
and abs_vals at the time of the switch rather than all the time.
Signed-off-by: Éric Brunet <Eric.Brunet at lps.ens.fr>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
commit f59585b36709c8a529da6e08662ed6c62b73ebd5
Author: Éric Brunet <Eric.Brunet at lps.ens.fr>
Date: Tue Sep 30 22:15:45 2014 +0200
Change the logic concerning EVDEV_RELATIVE_MODE and in_proximity
When not in_proximity, we don't really trust data, even though a valuator
sent just before a in_proximity event might actually be important. The
present code for EVDEV_RELATIVE_MODE throws away all data if not
in_proximity, which is a little bit too much. This patch allows for
relative values to be calculated and old_vals to be updated even if not
in_proximity, but will prevent evdev to sending (presumably) wrong
information to the X server. But at least, old_vals will be correctly
filled when the device comes into proximity again.
Signed-off-by: Éric Brunet <Eric.Brunet at lps.ens.fr>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
commit 593bbc6390aa6f9feec0e2b081e1bfe6ab03595a
Author: Éric Brunet <Eric.Brunet at lps.ens.fr>
Date: Tue Sep 30 20:49:46 2014 +0200
drop the pEvdev->delta array
Now that relative events have their own valuator mask, use it instead of
delta
Signed-off-by: Éric Brunet <Eric.Brunet at lps.ens.fr>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
commit e0e2587a95afaeb25ad73bb8b27488e79d1fe02e
Author: Éric Brunet <Eric.Brunet at lps.ens.fr>
Date: Tue Sep 30 14:27:20 2014 +0200
Split pEvdev->vals into pEvdev->abs_vals and pEvdev->rel_vals
This should hopefully fix bug 84445.
Signed-off-by: Éric Brunet <Eric.Brunet at lps.ens.fr>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
More information about the xorg-commit
mailing list