diff options
author | Simon Thum <simon.thum@gmx.de> | 2011-02-06 17:57:17 +0100 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-02-21 11:46:37 +1000 |
commit | cc26edfba13216ceda02d9d352643535ba359e5e (patch) | |
tree | 81d6db9b78e2c1e05a04d722b23450aae5712e75 /include | |
parent | 5aaeea79eea98705fbbbea363a7ee4be1eeed827 (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.h | 3 |
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_ */ |