Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/dev/pckbport/synaptics.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/dev/pckbport/synaptics.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.42 retrieving revision 1.43 diff -u -p -r1.42 -r1.43 --- src/sys/dev/pckbport/synaptics.c 2018/07/14 00:47:33 1.42 +++ src/sys/dev/pckbport/synaptics.c 2018/11/06 08:55:02 1.43 @@ -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 -__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 #include @@ -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;