diff options
| author | 2011-01-14 17:24:16 -0800 | |
|---|---|---|
| committer | 2011-01-14 17:24:16 -0800 | |
| commit | 1c9d06e0470c41e2720c65be076b6080bf8595c0 (patch) | |
| tree | d349bd0e1257f7118b75bd5a07e8213585de7b2b | |
| parent | e76820bf413364898493f86ca6027b28d3caed2b (diff) | |
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
| -rw-r--r-- | services/input/InputReader.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp index 7a45de6fb35a..f6a8859a5e91 100644 --- a/services/input/InputReader.cpp +++ b/services/input/InputReader.cpp @@ -1183,10 +1183,18 @@ void CursorInputMapper::sync(nsecs_t when) { 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; + } } } |