Author: imp
Date: Wed Mar  1 04:27:58 2017
New Revision: 314467
URL: https://svnweb.freebsd.org/changeset/base/314467

Log:
  Make wsp process a single touchpad tap and interpret it as a
  left-click event.  It can be disabled setting the new
  hw.usb.wsp.enable_single_tap_clicks sysctl to 0.
  
  Submitted by: K Staring <q...@quickdekay.net>
  Pull Request: https://github.com/freebsd/freebsd/pull/97

Modified:
  head/sys/dev/usb/input/wsp.c

Modified: head/sys/dev/usb/input/wsp.c
==============================================================================
--- head/sys/dev/usb/input/wsp.c        Wed Mar  1 04:24:56 2017        
(r314466)
+++ head/sys/dev/usb/input/wsp.c        Wed Mar  1 04:27:58 2017        
(r314467)
@@ -87,6 +87,7 @@ static struct wsp_tuning {
        int     pressure_untouch_threshold;
        int     pressure_tap_threshold;
        int     scr_hor_threshold;
+       int     enable_single_tap_clicks;
 }
        wsp_tuning =
 {
@@ -96,6 +97,7 @@ static struct wsp_tuning {
        .pressure_untouch_threshold = 10,
        .pressure_tap_threshold = 120,
        .scr_hor_threshold = 20,
+       .enable_single_tap_clicks = 1,
 };
 
 static void
@@ -107,6 +109,7 @@ wsp_runing_rangecheck(struct wsp_tuning 
        WSP_CLAMP(ptun->pressure_untouch_threshold, 1, 255);
        WSP_CLAMP(ptun->pressure_tap_threshold, 1, 255);
        WSP_CLAMP(ptun->scr_hor_threshold, 1, 255);
+       WSP_CLAMP(ptun->enable_single_tap_clicks, 0, 1);
 }
 
 SYSCTL_INT(_hw_usb_wsp, OID_AUTO, scale_factor, CTLFLAG_RWTUN,
@@ -121,6 +124,8 @@ SYSCTL_INT(_hw_usb_wsp, OID_AUTO, pressu
     &wsp_tuning.pressure_tap_threshold, 0, "tap pressure threshold");
 SYSCTL_INT(_hw_usb_wsp, OID_AUTO, scr_hor_threshold, CTLFLAG_RWTUN,
     &wsp_tuning.scr_hor_threshold, 0, "horizontal scrolling threshold");
+SYSCTL_INT(_hw_usb_wsp, OID_AUTO, enable_single_tap_clicks, CTLFLAG_RWTUN,
+    &wsp_tuning.enable_single_tap_clicks, 0, "enable single tap clicks");
 
 /*
  * Some tables, structures, definitions and constant values for the
@@ -966,7 +971,7 @@ wsp_intr_callback(struct usb_xfer *xfer,
                                 */
                                switch (sc->ntaps) {
                                case 1:
-                                       if (!(params->caps & 
HAS_INTEGRATED_BUTTON)) {
+                                       if (!(params->caps & 
HAS_INTEGRATED_BUTTON) || tun.enable_single_tap_clicks) {
                                                wsp_add_to_queue(sc, 0, 0, 0, 
MOUSE_BUTTON1DOWN);
                                                DPRINTFN(WSP_LLEVEL_INFO, "LEFT 
CLICK!\n");
                                        }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to