VirtualBox

Changeset 19654 in vbox for trunk


Ignore:
Timestamp:
May 13, 2009 12:30:58 PM (16 years ago)
Author:
vboxsync
Message:

Main and Devices/absolute mouse: do not send movement events to the virutal PS/2 device if the guest can read them from VMMDev

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/VBoxDev.h

    r12742 r19654  
    4747/** the host is NOT able to draw the cursor itself (e.g. L4 console) */
    4848#define VMMDEV_MOUSEHOSTCANNOTHWPOINTER                     RT_BIT(3)
     49/** The guest can read VMMDev events to find out about pointer movement */
     50#define VMMDEV_MOUSEGUESTUSESVMMDEV                         RT_BIT(4)
    4951/** @} */
    5052
  • trunk/include/VBox/VBoxGuest.h

    r18526 r19654  
    130130/** host does NOT provide support for drawing the cursor itself (e.g. L4 console) */
    131131#define VBOXGUEST_MOUSE_HOST_CANNOT_HWPOINTER   RT_BIT(3)
     132/** The guest can read VMMDev events to find out about pointer movement */
     133#define VBOXGUEST_MOUSE_GUEST_USES_VMMDEV       RT_BIT(4)
    132134
    133135/** fictive start address of the hypervisor physical memory for MmMapIoSpace */
  • trunk/src/VBox/Devices/VMMDev/VBoxDev.cpp

    r19300 r19654  
    657657                else
    658658                    pThis->mouseCapabilities &= ~VMMDEV_MOUSEGUESTNEEDSHOSTCUR;
     659                if (mouseStatus->mouseFeatures & VBOXGUEST_MOUSE_GUEST_USES_VMMDEV)
     660                    pThis->mouseCapabilities |= VMMDEV_MOUSEGUESTUSESVMMDEV;
     661                else
     662                    pThis->mouseCapabilities &= ~VMMDEV_MOUSEGUESTUSESVMMDEV;
    659663
    660664                /*
  • trunk/src/VBox/Main/MouseImpl.cpp

    r19614 r19654  
    323323         * see if the position has really changed since the last mouse event.
    324324         */
    325         if ((mLastAbsX == mouseXAbs) && (mLastAbsY == mouseYAbs))
     325        if (   ((mLastAbsX == mouseXAbs) && (mLastAbsY == mouseYAbs))
     326            || (mouseCaps & VBOXGUEST_MOUSE_GUEST_USES_VMMDEV))
    326327            vrc = mpDrv->pUpPort->pfnPutEvent(mpDrv->pUpPort, 0, 0, dz,
    327328                                              fButtons);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette