Input: appletouch - dial back fuzz setting
authorClinton Sprain <clintonsprain@gmail.com>
Wed, 26 Mar 2014 21:10:43 +0000 (14:10 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 28 Mar 2014 08:14:00 +0000 (01:14 -0700)
Let's dial back the default fuzz setting for most devices using this
driver, based on values from user feedback from forums and bug reports.

Signed-off-by: Clinton Sprain <clintonsprain@gmail.com>
Reviewed-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/appletouch.c

index 800ca7dfafc2b79350c879e168dfc5731fab518c..2745832f74b6ddf933b6a915524b05a7751305bc 100644 (file)
@@ -48,6 +48,7 @@ struct atp_info {
        int yfact;                              /* Y multiplication factor */
        int datalen;                            /* size of USB transfers */
        void (*callback)(struct urb *);         /* callback function */
+       int fuzz;                               /* fuzz touchpad generates */
 };
 
 static void atp_complete_geyser_1_2(struct urb *urb);
@@ -61,6 +62,7 @@ static const struct atp_info fountain_info = {
        .yfact          = 43,
        .datalen        = 81,
        .callback       = atp_complete_geyser_1_2,
+       .fuzz           = 16,
 };
 
 static const struct atp_info geyser1_info = {
@@ -71,6 +73,7 @@ static const struct atp_info geyser1_info = {
        .yfact          = 43,
        .datalen        = 81,
        .callback       = atp_complete_geyser_1_2,
+       .fuzz           = 16,
 };
 
 static const struct atp_info geyser2_info = {
@@ -81,6 +84,7 @@ static const struct atp_info geyser2_info = {
        .yfact          = 43,
        .datalen        = 64,
        .callback       = atp_complete_geyser_1_2,
+       .fuzz           = 0,
 };
 
 static const struct atp_info geyser3_info = {
@@ -90,6 +94,7 @@ static const struct atp_info geyser3_info = {
        .yfact          = 64,
        .datalen        = 64,
        .callback       = atp_complete_geyser_3_4,
+       .fuzz           = 0,
 };
 
 static const struct atp_info geyser4_info = {
@@ -99,6 +104,7 @@ static const struct atp_info geyser4_info = {
        .yfact          = 64,
        .datalen        = 64,
        .callback       = atp_complete_geyser_3_4,
+       .fuzz           = 0,
 };
 
 #define ATP_DEVICE(prod, info)                                 \
@@ -155,9 +161,6 @@ MODULE_DEVICE_TABLE(usb, atp_table);
 #define ATP_XSENSORS   26
 #define ATP_YSENSORS   16
 
-/* amount of fuzz this touchpad generates */
-#define ATP_FUZZ       16
-
 /* maximum pressure this driver will report */
 #define ATP_PRESSURE   300
 
@@ -455,7 +458,7 @@ static void atp_detect_size(struct atp *dev)
                        input_set_abs_params(dev->input, ABS_X, 0,
                                             (dev->info->xsensors_17 - 1) *
                                                        dev->info->xfact - 1,
-                                            ATP_FUZZ, 0);
+                                            dev->info->fuzz, 0);
                        break;
                }
        }
@@ -843,10 +846,10 @@ static int atp_probe(struct usb_interface *iface,
 
        input_set_abs_params(input_dev, ABS_X, 0,
                             (dev->info->xsensors - 1) * dev->info->xfact - 1,
-                            ATP_FUZZ, 0);
+                            dev->info->fuzz, 0);
        input_set_abs_params(input_dev, ABS_Y, 0,
                             (dev->info->ysensors - 1) * dev->info->yfact - 1,
-                            ATP_FUZZ, 0);
+                            dev->info->fuzz, 0);
        input_set_abs_params(input_dev, ABS_PRESSURE, 0, ATP_PRESSURE, 0, 0);
 
        set_bit(EV_KEY, input_dev->evbit);