Chuck Ebbert 1d13b01
From: Henrik Rydberg <rydberg@euromail.se>
Chuck Ebbert 1d13b01
Date: Sun, 5 Sep 2010 19:25:11 +0000 (-0700)
Chuck Ebbert 1d13b01
Subject: Input: wacom - add fuzz parameters to features
Chuck Ebbert 1d13b01
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdtor%2Finput.git;a=commitdiff_plain;h=fed87e655a2c20468d628b37424af58287803afe
Chuck Ebbert 1d13b01
Chuck Ebbert 1d13b01
Input: wacom - add fuzz parameters to features
Chuck Ebbert 1d13b01
Chuck Ebbert 1d13b01
The signal-to-noise ratio varies between devices, but currently all
Chuck Ebbert 1d13b01
devices are treated the same way. Add fuzz parameters to the feature
Chuck Ebbert 1d13b01
struct, allowing for tailored treatment of devices.
Chuck Ebbert 1d13b01
Chuck Ebbert 1d13b01
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Chuck Ebbert 1d13b01
Acked-by: Ping Cheng <pingc@wacom.com>
Chuck Ebbert 1d13b01
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Chuck Ebbert 1d13b01
---
Chuck Ebbert 1d13b01
Chuck Ebbert 1d13b01
diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
Chuck Ebbert 1d13b01
index 42ba369..e510e4f 100644
Chuck Ebbert 1d13b01
--- a/drivers/input/tablet/wacom_sys.c
Chuck Ebbert 1d13b01
+++ b/drivers/input/tablet/wacom_sys.c
Chuck Ebbert 1d13b01
@@ -333,8 +333,12 @@ static int wacom_retrieve_hid_descriptor(struct usb_interface *intf,
Chuck Ebbert 1d13b01
 	struct usb_host_interface *interface = intf->cur_altsetting;
Chuck Ebbert 1d13b01
 	struct hid_descriptor *hid_desc;
Chuck Ebbert 1d13b01
 
Chuck Ebbert 1d13b01
-	/* default device to penabled */
Chuck Ebbert 1d13b01
+	/* default features */
Chuck Ebbert 1d13b01
 	features->device_type = BTN_TOOL_PEN;
Chuck Ebbert 1d13b01
+	features->x_fuzz = 4;
Chuck Ebbert 1d13b01
+	features->y_fuzz = 4;
Chuck Ebbert 1d13b01
+	features->pressure_fuzz = 0;
Chuck Ebbert 1d13b01
+	features->distance_fuzz = 0;
Chuck Ebbert 1d13b01
 
Chuck Ebbert 1d13b01
 	/* only Tablet PCs need to retrieve the info */
Chuck Ebbert 1d13b01
 	if ((features->type != TABLETPC) && (features->type != TABLETPC2FG))
Chuck Ebbert 1d13b01
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
Chuck Ebbert 1d13b01
index 6e29bad..6d7e164 100644
Chuck Ebbert 1d13b01
--- a/drivers/input/tablet/wacom_wac.c
Chuck Ebbert 1d13b01
+++ b/drivers/input/tablet/wacom_wac.c
Chuck Ebbert 1d13b01
@@ -951,9 +951,12 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev,
Chuck Ebbert 1d13b01
 
Chuck Ebbert 1d13b01
 	__set_bit(BTN_TOUCH, input_dev->keybit);
Chuck Ebbert 1d13b01
 
Chuck Ebbert 1d13b01
-	input_set_abs_params(input_dev, ABS_X, 0, features->x_max, 4, 0);
Chuck Ebbert 1d13b01
-	input_set_abs_params(input_dev, ABS_Y, 0, features->y_max, 4, 0);
Chuck Ebbert 1d13b01
-	input_set_abs_params(input_dev, ABS_PRESSURE, 0, features->pressure_max, 0, 0);
Chuck Ebbert 1d13b01
+	input_set_abs_params(input_dev, ABS_X, 0, features->x_max,
Chuck Ebbert 1d13b01
+			     features->x_fuzz, 0);
Chuck Ebbert 1d13b01
+	input_set_abs_params(input_dev, ABS_Y, 0, features->y_max,
Chuck Ebbert 1d13b01
+			     features->y_fuzz, 0);
Chuck Ebbert 1d13b01
+	input_set_abs_params(input_dev, ABS_PRESSURE, 0, features->pressure_max,
Chuck Ebbert 1d13b01
+			     features->pressure_fuzz, 0);
Chuck Ebbert 1d13b01
 
Chuck Ebbert 1d13b01
 	__set_bit(ABS_MISC, input_dev->absbit);
Chuck Ebbert 1d13b01
 
Chuck Ebbert 1d13b01
diff --git a/drivers/input/tablet/wacom_wac.h b/drivers/input/tablet/wacom_wac.h
Chuck Ebbert 1d13b01
index 99e1a54..d769e9a 100644
Chuck Ebbert 1d13b01
--- a/drivers/input/tablet/wacom_wac.h
Chuck Ebbert 1d13b01
+++ b/drivers/input/tablet/wacom_wac.h
Chuck Ebbert 1d13b01
@@ -73,6 +73,10 @@ struct wacom_features {
Chuck Ebbert 1d13b01
 	int y_phy;
Chuck Ebbert 1d13b01
 	unsigned char unit;
Chuck Ebbert 1d13b01
 	unsigned char unitExpo;
Chuck Ebbert 1d13b01
+	int x_fuzz;
Chuck Ebbert 1d13b01
+	int y_fuzz;
Chuck Ebbert 1d13b01
+	int pressure_fuzz;
Chuck Ebbert 1d13b01
+	int distance_fuzz;
Chuck Ebbert 1d13b01
 };
Chuck Ebbert 1d13b01
 
Chuck Ebbert 1d13b01
 struct wacom_shared {