summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Thum <simon.thum@gmx.de>2011-02-06 17:57:17 +0100
committerPeter Hutterer <peter.hutterer@who-t.net>2011-02-21 11:46:37 +1000
commitcc26edfba13216ceda02d9d352643535ba359e5e (patch)
tree81d6db9b78e2c1e05a04d722b23450aae5712e75 /include
parent5aaeea79eea98705fbbbea363a7ee4be1eeed827 (diff)
Add hysteresis-based noise reduction
This introduces hysteresis into the driver's processing. It significantly reduces noise motion, i.e. now the pad does no longer generate a stream of sub-pixel events when just holding the position with the finger down. Also, taking off the finger no longer generates additional motion, scrolling becomes flicker-free etc. The code makes use of "fuzz" from the kernel, if available. This has not been tested extensively, as an overwhelming majority of evdev touchpad drivers view 0 (zero) as a good value for fuzz, forcing userland into assuming "zero fuzz" means "make zero assumptions about fuzz", not "there is no fuzz". Until things improve, this is what we do. Anyway, the fuzz a.k.a. hysteresis can be set/overridden with options and properties, as documented. Signed-off-by: Simon Thum <simon.thum@gmx.de> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'include')
-rw-r--r--include/synaptics-properties.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/synaptics-properties.h b/include/synaptics-properties.h
index 9c6a2ee..bdb2112 100644
--- a/include/synaptics-properties.h
+++ b/include/synaptics-properties.h
@@ -155,4 +155,7 @@
/* 32 bit, 4 values, left, right, top, bottom */
#define SYNAPTICS_PROP_AREA "Synaptics Area"
+/* 32 Bit Integer, 2 values, horizontal hysteresis, vertical hysteresis */
+#define SYNAPTICS_PROP_NOISE_CANCELLATION "Synaptics Noise Cancellation"
+
#endif /* _SYNAPTICS_PROPERTIES_H_ */