Module Name: src
Committed By: blymn
Date: Tue Nov 6 08:55:02 UTC 2018
Modified Files:
src/sys/dev/pckbport: synaptics.c
Log Message:
Fix clamping of deltas so it works for both positive and negative deltas.
To generate a diff of this commit:
cvs rdiff -u -r1.42 -r1.43 src/sys/dev/pckbport/synaptics.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pckbport/synaptics.c
diff -u src/sys/dev/pckbport/synaptics.c:1.42 src/sys/dev/pckbport/synaptics.c:1.43
--- src/sys/dev/pckbport/synaptics.c:1.42 Sat Jul 14 00:47:33 2018
+++ src/sys/dev/pckbport/synaptics.c Tue Nov 6 08:55:02 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: synaptics.c,v 1.42 2018/07/14 00:47:33 maya Exp $ */
+/* $NetBSD: synaptics.c,v 1.43 2018/11/06 08:55:02 blymn Exp $ */
/*
* Copyright (c) 2005, Steve C. Woodford
@@ -48,7 +48,7 @@
#include "opt_pms.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.42 2018/07/14 00:47:33 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.43 2018/11/06 08:55:02 blymn Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -1485,10 +1485,10 @@ synaptics_movement(struct synaptics_soft
/*
* Clamp deltas to specified maximums.
*/
- if (dx > synaptics_max_speed_x)
- dx = synaptics_max_speed_x;
- if (dy > synaptics_max_speed_y)
- dy = synaptics_max_speed_y;
+ if (abs(dx) > synaptics_max_speed_x)
+ dx = ((dx >= 0)? 1 : -1) * synaptics_max_speed_x;
+ if (abs(dy) > synaptics_max_speed_y)
+ dy = ((dy >= 0)? 1 : -1) * synaptics_max_speed_y;
*dxp = dx;
*dyp = dy;