Definition at line 186 of file mouse.c.
Referenced by i8042MouHandle(), and i8042MouHandlePs2pp().
{
PMOUSE_INPUT_DATA MouseInput;
USHORT NewButtonData;
USHORT ButtonDiff;
MouseInput = DeviceExtension->MouseBuffer + DeviceExtension->MouseInBuffer;
NewButtonData = (USHORT)(MouseInput->RawButtons & Mask);
ButtonDiff = (NewButtonData ^ DeviceExtension->MouseButtonState) & Mask;
MouseInput->ButtonFlags |= (NewButtonData & ButtonDiff) |
(((~(NewButtonData)) << 1) & (ButtonDiff << 1)) |
(MouseInput->RawButtons & 0xfc00);
INFO_(I8042PRT, "Left raw/up/down: %u/%u/%u\n",
MouseInput->RawButtons & MOUSE_LEFT_BUTTON_DOWN,
MouseInput->ButtonFlags & MOUSE_LEFT_BUTTON_DOWN,
MouseInput->ButtonFlags & MOUSE_LEFT_BUTTON_UP);
DeviceExtension->MouseButtonState =
(DeviceExtension->MouseButtonState & ~Mask) | (NewButtonData & Mask);
}