]> git.saurik.com Git - wxWidgets.git/commitdiff
fix handling of OEM VKs in wxCharCodeWXToMSW() (patch 1810940)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 5 Jan 2008 18:59:09 +0000 (18:59 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 5 Jan 2008 18:59:09 +0000 (18:59 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/window.cpp

index 4e82274435531fcea9bc9dd64e6dd99854b78d91..2e534220387f94f1c2741797e2b4bd8b9ac4e7a4 100644 (file)
@@ -6099,10 +6099,18 @@ WXWORD wxCharCodeWXToMSW(int wxk, bool *isVirtual)
             break;
 
         default:
-            if ( isVirtual )
-                *isVirtual = false;
-            vk = (WXWORD)wxk;
-            break;
+            // check to see if its one of the OEM key codes.
+            BYTE vks = LOBYTE(VkKeyScan(wxk));
+            if ( vks != -1 )
+            {
+                vk = vks;
+            }
+            else
+            {
+                if ( isVirtual )
+                    *isVirtual = false;
+                vk = (WXWORD)wxk;
+            }
     }
 
     return vk;