- rEvent.m_y = nY;
- rEvent.m_shiftDown = ((uFlags & VK_SHIFT) != 0);
- rEvent.m_controlDown = ((uFlags & VK_CTRL) != 0);
- rEvent.m_leftDown = ((uFlags & VK_BUTTON1) != 0);
- rEvent.m_middleDown = ((uFlags & VK_BUTTON3) != 0);
- rEvent.m_rightDown = ((uFlags & VK_BUTTON2) != 0);
+ // Convert to wxWindows standard coordinate system!
+ rEvent.m_y = nHeight - nY;
+ rEvent.m_shiftDown = ((uFlags & KC_SHIFT) != 0);
+ rEvent.m_controlDown = ((uFlags & KC_CTRL) != 0);
+ rEvent.m_altDown = ((uFlags & KC_ALT) != 0);
+ rEvent.m_leftDown = (::WinGetKeyState(HWND_DESKTOP, VK_BUTTON1) &
+ 0x8000) != 0;
+ rEvent.m_middleDown = (::WinGetKeyState(HWND_DESKTOP, VK_BUTTON3) &
+ 0x8000) != 0;
+ rEvent.m_rightDown = (::WinGetKeyState(HWND_DESKTOP, VK_BUTTON2) &
+ 0x8000) != 0;