Input: wacom - add fuzz parameters to features
authorHenrik Rydberg <rydberg@euromail.se>
Sun, 5 Sep 2010 19:25:11 +0000 (12:25 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 5 Sep 2010 19:57:58 +0000 (12:57 -0700)
The signal-to-noise ratio varies between devices, but currently all
devices are treated the same way. Add fuzz parameters to the feature
struct, allowing for tailored treatment of devices.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/tablet/wacom_sys.c
drivers/input/tablet/wacom_wac.c
drivers/input/tablet/wacom_wac.h

index 42ba3691d908bc1fc8c370da5ada4287ceb21115..e510e4fb54f7379ae862f1f3979140d961a2d1ae 100644 (file)
@@ -333,8 +333,12 @@ static int wacom_retrieve_hid_descriptor(struct usb_interface *intf,
        struct usb_host_interface *interface = intf->cur_altsetting;
        struct hid_descriptor *hid_desc;
 
-       /* default device to penabled */
+       /* default features */
        features->device_type = BTN_TOOL_PEN;
+       features->x_fuzz = 4;
+       features->y_fuzz = 4;
+       features->pressure_fuzz = 0;
+       features->distance_fuzz = 0;
 
        /* only Tablet PCs need to retrieve the info */
        if ((features->type != TABLETPC) && (features->type != TABLETPC2FG))
index 6e29badb969e44192be85080caf801851c3d06fa..6d7e1647715f0bd8f8580d66429e7948f3b1e021 100644 (file)
@@ -951,9 +951,12 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev,
 
        __set_bit(BTN_TOUCH, input_dev->keybit);
 
-       input_set_abs_params(input_dev, ABS_X, 0, features->x_max, 4, 0);
-       input_set_abs_params(input_dev, ABS_Y, 0, features->y_max, 4, 0);
-       input_set_abs_params(input_dev, ABS_PRESSURE, 0, features->pressure_max, 0, 0);
+       input_set_abs_params(input_dev, ABS_X, 0, features->x_max,
+                            features->x_fuzz, 0);
+       input_set_abs_params(input_dev, ABS_Y, 0, features->y_max,
+                            features->y_fuzz, 0);
+       input_set_abs_params(input_dev, ABS_PRESSURE, 0, features->pressure_max,
+                            features->pressure_fuzz, 0);
 
        __set_bit(ABS_MISC, input_dev->absbit);
 
index 99e1a54cd305fa3dce303670f44973dd82d273f9..d769e9aa6f108f139526899a80e2cb9dacc5d7d5 100644 (file)
@@ -73,6 +73,10 @@ struct wacom_features {
        int y_phy;
        unsigned char unit;
        unsigned char unitExpo;
+       int x_fuzz;
+       int y_fuzz;
+       int pressure_fuzz;
+       int distance_fuzz;
 };
 
 struct wacom_shared {