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;