am bfc1cc2d: Fix stuck keys when released out of order. (DO NOT MERGE)

* commit 'bfc1cc2d1ea85cc754e63b422eb8cef8ae6a3667':
  Fix stuck keys when released out of order. (DO NOT MERGE)
This commit is contained in:
Jeff Brown
2010-11-18 12:36:50 -08:00
committed by Android Git Automerger

View File

@@ -934,7 +934,7 @@ void KeyboardInputMapper::processKey(nsecs_t when, bool down, int32_t keyCode,
ssize_t keyDownIndex = findKeyDownLocked(scanCode); ssize_t keyDownIndex = findKeyDownLocked(scanCode);
if (keyDownIndex >= 0) { if (keyDownIndex >= 0) {
// key repeat, be sure to use same keycode as before in case of rotation // key repeat, be sure to use same keycode as before in case of rotation
keyCode = mLocked.keyDowns.top().keyCode; keyCode = mLocked.keyDowns.itemAt(keyDownIndex).keyCode;
} else { } else {
// key down // key down
mLocked.keyDowns.push(); mLocked.keyDowns.push();
@@ -949,7 +949,7 @@ void KeyboardInputMapper::processKey(nsecs_t when, bool down, int32_t keyCode,
ssize_t keyDownIndex = findKeyDownLocked(scanCode); ssize_t keyDownIndex = findKeyDownLocked(scanCode);
if (keyDownIndex >= 0) { if (keyDownIndex >= 0) {
// key up, be sure to use same keycode as before in case of rotation // key up, be sure to use same keycode as before in case of rotation
keyCode = mLocked.keyDowns.top().keyCode; keyCode = mLocked.keyDowns.itemAt(keyDownIndex).keyCode;
mLocked.keyDowns.removeAt(size_t(keyDownIndex)); mLocked.keyDowns.removeAt(size_t(keyDownIndex));
} else { } else {
// key was not actually down // key was not actually down