am 3994396b: am d3616592: Fix trackball down and movement bugs.

Merge commit '3994396b089c36f432a7af5d542ef594142dd09b'

* commit '3994396b089c36f432a7af5d542ef594142dd09b':
  Fix trackball down and movement bugs.
This commit is contained in:
Jeff Brown 2010-07-16 17:56:15 -07:00 committed by Android Git Automerger
commit 7853b8bed7
2 changed files with 15 additions and 1 deletions

View File

@ -650,10 +650,20 @@ void InputDispatcher::startDispatchCycleLocked(nsecs_t currentTime,
firstMotionSample = & motionEntry->firstSample;
}
// Set the X and Y offset depending on the input source.
float xOffset, yOffset;
if (motionEntry->source & AINPUT_SOURCE_CLASS_POINTER) {
xOffset = dispatchEntry->xOffset;
yOffset = dispatchEntry->yOffset;
} else {
xOffset = 0.0f;
yOffset = 0.0f;
}
// Publish the motion event and the first motion sample.
status = connection->inputPublisher.publishMotionEvent(motionEntry->deviceId,
motionEntry->source, action, motionEntry->edgeFlags, motionEntry->metaState,
dispatchEntry->xOffset, dispatchEntry->yOffset,
xOffset, yOffset,
motionEntry->xPrecision, motionEntry->yPrecision,
motionEntry->downTime, firstMotionSample->eventTime,
motionEntry->pointerCount, motionEntry->pointerIds,

View File

@ -270,6 +270,10 @@ void InputReader::handleKey(const RawEvent* rawEvent) {
device->trackball.accumulator.fields |=
InputDevice::TrackballState::Accumulator::FIELD_BTN_MOUSE;
device->trackball.accumulator.btnMouse = down;
// Process the trackball change now since we may not receive a sync immediately.
onTrackballStateChanged(rawEvent->when, device);
device->trackball.accumulator.clear();
return;
}
}