Bläddra i källkod

Merge branch 'master' of https://github.com/ivansafrin/Polycode

Ivan Safrin 12 år sedan
förälder
incheckning
e233f5a67a
1 ändrade filer med 4 tillägg och 8 borttagningar
  1. 4 8
      Core/Contents/Source/PolyWinCore.cpp

+ 4 - 8
Core/Contents/Source/PolyWinCore.cpp

@@ -478,20 +478,16 @@ PolyKEY Win32Core::mapKey(LPARAM lParam, WPARAM wParam) {
 					else
 						wParam = VK_LCONTROL;
 					break;
-				case 33:
+				case VK_MENU:
 					if ( lParam&EXTENDED_KEYMASK )
 						wParam = VK_RMENU;
 					else
 						wParam = VK_LMENU;
 					break;
 				case VK_SHIFT:
-					// We can't tell if it's LSHIFT or RSHIFT,
-					// so use GetKeyState to tell which it is.
-					if( GetKeyState(VK_LSHIFT) ) {
-						wParam = VK_LSHIFT;
-					} else {
-						wParam = VK_RSHIFT;
-					}
+					// Use MapVirtualKey to determine whether it's LSHIFT or RSHIFT by scancode.
+					UINT scancode = (lParam & 0x00ff0000) >> 16;
+					wParam = MapVirtualKey(scancode, MAPVK_VSC_TO_VK_EX);
 					break;
 			}