diff options
-rwxr-xr-x | engines/pegasus/input.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/engines/pegasus/input.cpp b/engines/pegasus/input.cpp index 9ef369eb60..5ef1a14f82 100755 --- a/engines/pegasus/input.cpp +++ b/engines/pegasus/input.cpp @@ -111,10 +111,13 @@ void InputDevice::getInput(Input &input, const tInputBits filter) { // Update the mouse position too input.setInputLocation(g_system->getEventManager()->getMousePos()); - _lastRawBits = currentBits; - tInputBits filteredBits = currentBits & filter; + // Set the outgoing bits + tInputBits filteredBits = currentBits & filter; input.setInputBits((filteredBits & kAllButtonDownBits) | (filteredBits & _lastRawBits & kAllAutoBits)); + + // Update the last bits + _lastRawBits = currentBits; } // Wait until the input device stops returning input allowed by filter... |