ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

VOID i8042MouHandleButtons ( IN PI8042_MOUSE_EXTENSION  DeviceExtension,
IN USHORT  Mask 
)

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;

    /* Note that the defines are such:
     * MOUSE_LEFT_BUTTON_DOWN 1
     * MOUSE_LEFT_BUTTON_UP   2
     */
    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);
}

Generated on Sat May 26 2012 04:40:34 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.