[PATCH libinput] Fix normalization functions
Peter Hutterer
peter.hutterer at who-t.net
Wed Oct 8 21:49:00 PDT 2014
On Wed, Oct 08, 2014 at 02:53:21PM -0700, Jason Gerecke wrote:
> We need to *subtract*, not *add* the minimum to determine the
> range-effective value. For example: if (min, current, max) is
> (100, 100, 1000) then the normalized value would be 0.0, not 0.2.
woopsie. applied, thanks.
Cheers,
Peter
>
> Signed-off-by: Jason Gerecke <killertofu at gmail.com>
> ---
> This patch should be applied to the 'tablet-support' branch, obviously.
> ...Re-sending since I messed up the mailinglist address.
>
> src/evdev-tablet.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/evdev-tablet.c b/src/evdev-tablet.c
> index a63b734..ff5f737 100644
> --- a/src/evdev-tablet.c
> +++ b/src/evdev-tablet.c
> @@ -106,7 +106,7 @@ tablet_update_tool(struct tablet_dispatch *tablet,
> static inline double
> normalize_pressure_or_dist(const struct input_absinfo * absinfo) {
> double range = absinfo->maximum - absinfo->minimum + 1;
> - double value = (absinfo->value + absinfo->minimum) / range;
> + double value = (absinfo->value - absinfo->minimum) / range;
>
> return value;
> }
> @@ -114,7 +114,7 @@ normalize_pressure_or_dist(const struct input_absinfo * absinfo) {
> static inline double
> normalize_tilt(const struct input_absinfo * absinfo) {
> double range = absinfo->maximum - absinfo->minimum + 1;
> - double value = (absinfo->value + absinfo->minimum) / range;
> + double value = (absinfo->value - absinfo->minimum) / range;
>
> /* Map to the (-1, 1) range */
> return (value * 2) - 1;
> --
> 2.1.2
>
More information about the wayland-devel
mailing list