CVS commit: [netbsd-9] src/sys/dev/pckbport
Module Name:src Committed By: martin Date: Sat Jun 20 13:53:14 UTC 2020 Modified Files: src/sys/dev/pckbport [netbsd-9]: synaptics.c Log Message: Pull up following revision(s) (requested by nia in ticket #954): sys/dev/pckbport/synaptics.c: revision 1.67 synaptics: Don't reset the device multiple times in succession Cherrypicked from a patch from an anonymous contributor. To generate a diff of this commit: cvs rdiff -u -r1.50.2.5 -r1.50.2.6 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.50.2.5 src/sys/dev/pckbport/synaptics.c:1.50.2.6 --- src/sys/dev/pckbport/synaptics.c:1.50.2.5 Wed Apr 29 13:25:42 2020 +++ src/sys/dev/pckbport/synaptics.c Sat Jun 20 13:53:14 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: synaptics.c,v 1.50.2.5 2020/04/29 13:25:42 martin Exp $ */ +/* $NetBSD: synaptics.c,v 1.50.2.6 2020/06/20 13:53:14 martin Exp $ */ /* * Copyright (c) 2005, Steve C. Woodford @@ -48,7 +48,7 @@ #include "opt_pms.h" #include -__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.50.2.5 2020/04/29 13:25:42 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.50.2.6 2020/06/20 13:53:14 martin Exp $"); #include #include @@ -1191,7 +1191,7 @@ pms_synaptics_input(void *vsc, int data) getmicrouptime(>current); - if (psc->inputstate != 0) { + if (psc->inputstate > 0) { timersub(>current, >last, ); if (diff.tv_sec > 0 || diff.tv_usec >= 4) { aprint_debug_dev(psc->sc_dev,
CVS commit: [netbsd-9] src/sys/dev/pckbport
Module Name:src Committed By: martin Date: Wed Apr 29 13:25:42 UTC 2020 Modified Files: src/sys/dev/pckbport [netbsd-9]: synaptics.c Log Message: Pull up following revision(s) (requested by jmcneill in ticket #865): sys/dev/pckbport/synaptics.c: revision 1.66 pms_synaptics_enable: no need to send PMS_DEV_ENABLE here because pms_enable does this for us. Seems to resolve issues with my trackpoint not working immediately after starting X on ThinkPad X260. To generate a diff of this commit: cvs rdiff -u -r1.50.2.4 -r1.50.2.5 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.50.2.4 src/sys/dev/pckbport/synaptics.c:1.50.2.5 --- src/sys/dev/pckbport/synaptics.c:1.50.2.4 Tue Apr 28 16:22:15 2020 +++ src/sys/dev/pckbport/synaptics.c Wed Apr 29 13:25:42 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: synaptics.c,v 1.50.2.4 2020/04/28 16:22:15 martin Exp $ */ +/* $NetBSD: synaptics.c,v 1.50.2.5 2020/04/29 13:25:42 martin Exp $ */ /* * Copyright (c) 2005, Steve C. Woodford @@ -48,7 +48,7 @@ #include "opt_pms.h" #include -__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.50.2.4 2020/04/28 16:22:15 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.50.2.5 2020/04/29 13:25:42 martin Exp $"); #include #include @@ -484,8 +484,6 @@ pms_synaptics_enable(void *vsc) (sc->flags & SYN_FLAG_HAS_ADV_GESTURE_MODE)) synaptics_special_write(psc, SYNAPTICS_WRITE_DELUXE_3, 0x3); - synaptics_poll_cmd(psc, PMS_DEV_ENABLE, 0); - sc->up_down = 0; sc->prev_fingers = 0; sc->gesture_start_x = sc->gesture_start_y = 0;
CVS commit: [netbsd-9] src/sys/dev/pckbport
Module Name:src Committed By: martin Date: Tue Apr 28 16:22:15 UTC 2020 Modified Files: src/sys/dev/pckbport [netbsd-9]: synaptics.c synapticsvar.h Log Message: Pull up following revision(s) (requested by jmcneill in ticket #863): sys/dev/pckbport/synaptics.c: revision 1.65 sys/dev/pckbport/synapticsvar.h: revision 1.10 Extended buttons are reported separate from touchpad buttons, so track button press / release state separate from touch events. To generate a diff of this commit: cvs rdiff -u -r1.50.2.3 -r1.50.2.4 src/sys/dev/pckbport/synaptics.c cvs rdiff -u -r1.9 -r1.9.2.1 src/sys/dev/pckbport/synapticsvar.h 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.50.2.3 src/sys/dev/pckbport/synaptics.c:1.50.2.4 --- src/sys/dev/pckbport/synaptics.c:1.50.2.3 Thu Apr 2 19:23:41 2020 +++ src/sys/dev/pckbport/synaptics.c Tue Apr 28 16:22:15 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: synaptics.c,v 1.50.2.3 2020/04/02 19:23:41 martin Exp $ */ +/* $NetBSD: synaptics.c,v 1.50.2.4 2020/04/28 16:22:15 martin Exp $ */ /* * Copyright (c) 2005, Steve C. Woodford @@ -48,7 +48,7 @@ #include "opt_pms.h" #include -__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.50.2.3 2020/04/02 19:23:41 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.50.2.4 2020/04/28 16:22:15 martin Exp $"); #include #include @@ -1009,19 +1009,29 @@ pms_synaptics_parse(struct pms_softc *ps psc->packet[3], psc->packet[4], psc->packet[5]); if ((psc->packet[4] & SYN_1BUTMASK) != 0) -sp.sp_left = PMS_LBUTMASK; +sc->ext_left = PMS_LBUTMASK; + else +sc->ext_left = 0; if ((psc->packet[4] & SYN_3BUTMASK) != 0) -sp.sp_middle = PMS_MBUTMASK; +sc->ext_middle = PMS_MBUTMASK; + else +sc->ext_middle = 0; if ((psc->packet[5] & SYN_2BUTMASK) != 0) -sp.sp_right = PMS_RBUTMASK; +sc->ext_right = PMS_RBUTMASK; + else +sc->ext_right = 0; if ((psc->packet[5] & SYN_4BUTMASK) != 0) -sp.sp_up = 1; +sc->ext_up = 1; + else +sc->ext_up = 0; if ((psc->packet[4] & SYN_5BUTMASK) != 0) -sp.sp_down = 1; +sc->ext_down = 1; + else +sc->ext_down = 0; } else { /* Left/Right button handling. */ sp.sp_left = psc->packet[0] & PMS_LBUTMASK; @@ -1101,6 +,13 @@ pms_synaptics_parse(struct pms_softc *ps sp.sp_middle = 0; } + /* Overlay extended button state */ + sp.sp_left |= sc->ext_left; + sp.sp_right |= sc->ext_right; + sp.sp_middle |= sc->ext_middle; + sp.sp_up |= sc->ext_up; + sp.sp_down |= sc->ext_down; + switch (synaptics_up_down_emul) { case 1: /* Do middle button emulation using up/down buttons */ Index: src/sys/dev/pckbport/synapticsvar.h diff -u src/sys/dev/pckbport/synapticsvar.h:1.9 src/sys/dev/pckbport/synapticsvar.h:1.9.2.1 --- src/sys/dev/pckbport/synapticsvar.h:1.9 Sun Jun 2 08:55:00 2019 +++ src/sys/dev/pckbport/synapticsvar.h Tue Apr 28 16:22:15 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: synapticsvar.h,v 1.9 2019/06/02 08:55:00 blymn Exp $ */ +/* $NetBSD: synapticsvar.h,v 1.9.2.1 2020/04/28 16:22:15 martin Exp $ */ /* * Copyright (c) 2005, Steve C. Woodford @@ -89,6 +89,12 @@ struct synaptics_softc { int history_x[SYN_MAX_FINGERS][SYN_HIST_SIZE]; int history_y[SYN_MAX_FINGERS][SYN_HIST_SIZE]; int history_z[SYN_MAX_FINGERS][SYN_HIST_SIZE]; + + char ext_left; + char ext_right; + char ext_middle; + char ext_up; + char ext_down; }; int pms_synaptics_probe_init(void *vsc);
CVS commit: [netbsd-9] src/sys/dev/pckbport
Module Name:src Committed By: martin Date: Thu Apr 2 19:23:42 UTC 2020 Modified Files: src/sys/dev/pckbport [netbsd-9]: synaptics.c Log Message: Pull up following revision(s) (requested by nia in ticket #818): sys/dev/pckbport/synaptics.c: revision 1.64 synaptics: Maintain the left/right buttons when up/down are remapped Reported on current-users by Mandacar� Cascavel To generate a diff of this commit: cvs rdiff -u -r1.50.2.2 -r1.50.2.3 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.50.2.2 src/sys/dev/pckbport/synaptics.c:1.50.2.3 --- src/sys/dev/pckbport/synaptics.c:1.50.2.2 Mon Mar 30 18:47:33 2020 +++ src/sys/dev/pckbport/synaptics.c Thu Apr 2 19:23:41 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: synaptics.c,v 1.50.2.2 2020/03/30 18:47:33 martin Exp $ */ +/* $NetBSD: synaptics.c,v 1.50.2.3 2020/04/02 19:23:41 martin Exp $ */ /* * Copyright (c) 2005, Steve C. Woodford @@ -48,7 +48,7 @@ #include "opt_pms.h" #include -__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.50.2.2 2020/03/30 18:47:33 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.50.2.3 2020/04/02 19:23:41 martin Exp $"); #include #include @@ -1109,8 +1109,8 @@ pms_synaptics_parse(struct pms_softc *ps break; case 3: /* Do left/right button emulation using up/down buttons */ - sp.sp_left = sp.sp_up; - sp.sp_right = sp.sp_down; + sp.sp_left = sp.sp_left | sp.sp_up; + sp.sp_right = sp.sp_right | sp.sp_down; sp.sp_up = sp.sp_down = 0; break; default:
CVS commit: [netbsd-9] src/sys/dev/pckbport
Module Name:src Committed By: martin Date: Mon Mar 30 18:47:33 UTC 2020 Modified Files: src/sys/dev/pckbport [netbsd-9]: synaptics.c Log Message: Pull up following revision(s) (requested by nia in ticket #810): sys/dev/pckbport/synaptics.c: revision 1.57 sys/dev/pckbport/synaptics.c: revision 1.58 synaptics: Allow the max_speed sysctls to be set synaptics: fix syntax To generate a diff of this commit: cvs rdiff -u -r1.50.2.1 -r1.50.2.2 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.50.2.1 src/sys/dev/pckbport/synaptics.c:1.50.2.2 --- src/sys/dev/pckbport/synaptics.c:1.50.2.1 Mon Mar 30 18:45:16 2020 +++ src/sys/dev/pckbport/synaptics.c Mon Mar 30 18:47:33 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: synaptics.c,v 1.50.2.1 2020/03/30 18:45:16 martin Exp $ */ +/* $NetBSD: synaptics.c,v 1.50.2.2 2020/03/30 18:47:33 martin Exp $ */ /* * Copyright (c) 2005, Steve C. Woodford @@ -48,7 +48,7 @@ #include "opt_pms.h" #include -__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.50.2.1 2020/03/30 18:45:16 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.50.2.2 2020/03/30 18:47:33 martin Exp $"); #include #include @@ -862,7 +862,10 @@ pms_sysctl_synaptics_verify(SYSCTLFN_ARG } else if (node.sysctl_num == synaptics_gesture_length_nodenum || node.sysctl_num == synaptics_edge_motion_delta_nodenum || - node.sysctl_num == synaptics_up_down_motion_delta_nodenum) { + node.sysctl_num == synaptics_up_down_motion_delta_nodenum || + node.sysctl_num == synaptics_max_speed_x_nodenum || + node.sysctl_num == synaptics_max_speed_y_nodenum || + node.sysctl_num == synaptics_max_speed_z_nodenum) { if (t < 0) return (EINVAL); } else