From ad294cb8f6aefb140b9902b885ac25cb36998978 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 5 Jan 2008 18:59:09 +0000 Subject: [PATCH] fix handling of OEM VKs in wxCharCodeWXToMSW() (patch 1810940) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/window.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 4e82274435..2e53422038 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -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; -- 2.45.2