Revert "Mice: Use CMT for all mice"

This reverts commit 608927def446fb75968d382e5e9844f701a512d9.

Change-Id: Idfe0e58f435bba703e84b2423a487a45d8eb715a
Reviewed-on: https://chromium-review.googlesource.com/192664
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
diff --git a/20-mouse.conf b/20-mouse.conf
old mode 100755
new mode 100644
index 9391894..491ac56
--- a/20-mouse.conf
+++ b/20-mouse.conf
@@ -2,9 +2,34 @@
     Identifier      "generic mouse for Chromium OS"
     MatchIsPointer  "on"
     MatchDevicePath "/dev/input/event*"
-    Driver          "cmt"
-    Option          "Mouse Accel Curves" "1"
-    Option          "Mouse Scroll Curves" "1"
+    # Map mouse vertical scroll wheel to buttons 8 and 9.
+    # These scroll button events are only used for mice and processed slightly
+    # differently in Chrome than buttons 4 and 5, which are used for trackpad
+    # scrolling.
+    # Also, disable buttons 10, 11, 12. The "6 7 8 9" before the
+    # zeroed-out 10, 11, 12 is the default we were getting before.
+    # crbug.com/223552
+    Option          "ButtonMapping" "1 2 3 8 9 6 7 8 9 0 0 0"
+    # 3-Button Mouse emulation, while useful for copy/paste, causes mouse
+    # clicks to miss their targets when the mouse is moving quickly.
+    # This is particularly noticeable on quick click+drags.
+    Option          "Emulate3Buttons" "false"
+    Option          "AccelerationProfile" "8"  # Chromium accel profile
+    Option          "VelocityScale" "1"
+    Option          "ConstantDeceleration" "1000"
+    Option          "Evdev Wheel Button Acceleration" "0"
+    Option          "Evdev Wheel Axes Acceleration" "1"
+    # Some mice expose Absolute axes, which take precedence over relative,
+    # which causes all axes valuator labels to be absolute. E.g., we get
+    # ABS_X instead of REL_X for horizontal movement. This is especially
+    # bad for scroll wheel activity, b/c Chrome looks for specific
+    # relative valuators for that; if absolute valuators are used, scroll
+    # wheel won't work.
+    Option          "IgnoreAbsoluteAxes" "true"
+    Option          "EmulateWheelButton" "2"
+    Option          "Emulate3Buttons" "false"
+    Option          "XAxisMapping" "6 7"
+    Option          "YAxisMapping" "4 5"
 EndSection
 
 Section "InputClass"
@@ -22,3 +47,4 @@
     Option          "InvertY"         "1"
     Option          "InvertX"         "1"
 EndSection
+
diff --git a/40-touchpad-cmt.conf b/40-touchpad-cmt.conf
index 8e3bf24..bd84b70 100644
--- a/40-touchpad-cmt.conf
+++ b/40-touchpad-cmt.conf
@@ -49,7 +49,6 @@
     Option          "Max Finger Stationary Speed" "10.0"
     Option          "Fling Buffer Suppress Zero Length Scrolls" "1"
     Option          "Mouse Accel Curves" "1"
-    Option          "Mouse Scroll Curves" "0"
     Option          "Box Width" "8.0"
     Option          "Box Height" "1.0"
     # Resolution overrides:
@@ -126,7 +125,6 @@
     Option          "Input Queue Max Delay" "0.0"
     Option          "Fling Buffer Suppress Zero Length Scrolls" "1"
     Option          "Mouse Accel Curves" "1"
-    Option          "Mouse Scroll Curves" "0"
     Option          "AccelerationProfile" "-1"
 EndSection
 
@@ -144,7 +142,6 @@
     Option          "Input Queue Max Delay" "0.0"
     Option          "Fling Buffer Suppress Zero Length Scrolls" "1"
     Option          "Mouse Accel Curves" "1"
-    Option          "Mouse Scroll Curves" "0"
     Option          "AccelerationProfile" "-1"
 EndSection
 
@@ -162,7 +159,6 @@
     Option          "Input Queue Max Delay" "0.0"
     Option          "Fling Buffer Suppress Zero Length Scrolls" "1"
     Option          "Mouse Accel Curves" "1"
-    Option          "Mouse Scroll Curves" "0"
     Option          "AccelerationProfile" "-1"
 EndSection