mouse: Add property for scroll acceleration curve
This seems to be useful when diagnosing scrolling problems.
BUG=None
TEST=Set the curve to linear (`10,0,0,0,0`) for a mouse, and check that
the behaviour changes accordingly.
Change-Id: I96f9182f45a855e3e65add62a852730c195f222d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/2088753
Tested-by: Harry Cutts <hcutts@chromium.org>
Auto-Submit: Harry Cutts <hcutts@chromium.org>
Reviewed-by: Sean O'Brien <seobrien@chromium.org>
Commit-Queue: Harry Cutts <hcutts@chromium.org>
diff --git a/include/mouse_interpreter.h b/include/mouse_interpreter.h
index c4cdb8f..449518e 100644
--- a/include/mouse_interpreter.h
+++ b/include/mouse_interpreter.h
@@ -96,6 +96,9 @@
// f_approximated = a0 + a1*v + a2*v^2 + a3*v^3 + a4*v^4
double scroll_accel_curve_[5];
+ // Adjust the scroll acceleration curve
+ DoubleArrayProperty scroll_accel_curve_prop_;
+
// when x is 177, the polynomial curve gives 450, the max pixels to scroll.
DoubleProperty scroll_max_allowed_input_speed_;
diff --git a/src/mouse_interpreter.cc b/src/mouse_interpreter.cc
index 5cfe8c6..3241bae 100644
--- a/src/mouse_interpreter.cc
+++ b/src/mouse_interpreter.cc
@@ -25,6 +25,8 @@
wheel_emulation_active_(false),
reverse_scrolling_(prop_reg, "Mouse Reverse Scrolling", false),
hi_res_scrolling_(prop_reg, "Mouse High Resolution Scrolling", false),
+ scroll_accel_curve_prop_(prop_reg, "Mouse Scroll Accel Curve",
+ scroll_accel_curve_, sizeof(scroll_accel_curve_) / sizeof(double)),
scroll_max_allowed_input_speed_(prop_reg,
"Mouse Scroll Max Input Speed",
177.0,