Fix bug with mice that send multiple BTN_MOUSE values.
Some mice send different values for BTN_MOUSE key events
when the button is held down (2 for repeat, instead of 1 for down).
Change-Id: I803db1f1584f50f8f5e1d37b6a715e2e1b3943a6
diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp
index 7a45de6..f6a8859 100644
--- a/services/input/InputReader.cpp
+++ b/services/input/InputReader.cpp
@@ -1183,10 +1183,18 @@
if (downChanged) {
if (mAccumulator.btnMouse) {
- mLocked.down = true;
- mLocked.downTime = when;
+ if (!mLocked.down) {
+ mLocked.down = true;
+ mLocked.downTime = when;
+ } else {
+ downChanged = false;
+ }
} else {
- mLocked.down = false;
+ if (mLocked.down) {
+ mLocked.down = false;
+ } else {
+ downChanged = false;
+ }
}
}