BUG:
- If you right-click on the desktop to show the context menu, then
right-click again, then left-click (or other similar combinations), your
next right-click is not registered anymore.
More information:
MOUSE_RIGHT_BUTTON_DOWN/MOUSE_RIGHT_BUTTON_UP events are correctly sent
from i8042prt driver to mouclass driver, which sends them correctly to
win32k. So the problem is in win32k or above
Here is a patch to see mouse buttons events received by win32k:
Index: subsys/win32k/ntuser/input.c
===================================================================
--- subsys/win32k/ntuser/input.c (revision 16704)
+++ subsys/win32k/ntuser/input.c (working copy)
@@ -77,6 +77,19 @@
for(i = 0; i < InputCount; i++)
{
mid = (Data + i);
+ if (mid->ButtonFlags & (MOUSE_LEFT_BUTTON_DOWN |
MOUSE_LEFT_BUTTON_UP | MOUSE_RIGHT_BUTTON_DOWN | MOUSE_RIGHT_BUTTON_UP))
+ {
+ DPRINT1("{ ");
+ if (mid->ButtonFlags & MOUSE_LEFT_BUTTON_DOWN)
+ DbgPrint("MOUSE_LEFT_BUTTON_DOWN ");
+ if (mid->ButtonFlags & MOUSE_LEFT_BUTTON_UP)
+ DbgPrint("MOUSE_LEFT_BUTTON_UP ");
+ if (mid->ButtonFlags & MOUSE_RIGHT_BUTTON_DOWN)
+ DbgPrint("MOUSE_RIGHT_BUTTON_DOWN ");
+ if (mid->ButtonFlags & MOUSE_RIGHT_BUTTON_UP)
+ DbgPrint("MOUSE_RIGHT_BUTTON_UP ");
+ DbgPrint("}\n");
+ }
mi.dx += mid->LastX;
mi.dy += mid->LastY;
Hervé