From 9d39c3f3aa62d388bd09fee16e10cfdc05cd8ab0 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/branches/WX_2_8_BRANCH@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 17b750e8bb..ec1f8376db 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -5936,10 +5936,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;