From a9169c1bd342561a663f8484179c48d71561b90f Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Wed, 14 Aug 2002 21:46:34 +0000 Subject: [PATCH] added key code fix to carbon event handler git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/mac/carbon/toplevel.cpp | 8 ++++++-- src/mac/toplevel.cpp | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/mac/carbon/toplevel.cpp b/src/mac/carbon/toplevel.cpp index 44af089624..56d3c0ded6 100644 --- a/src/mac/carbon/toplevel.cpp +++ b/src/mac/carbon/toplevel.cpp @@ -249,9 +249,13 @@ pascal OSStatus wxMacWindowEventHandler( EventHandlerCallRef handler , EventRef short keychar ; keychar = short(rec.message & charCodeMask); keycode = short(rec.message & keyCodeMask) >> 8 ; - long keyval = wxMacTranslateKey(keychar, keycode) ; wxWindow* focus = wxWindow::FindFocus() ; - + // it is wxWindows Convention to have Ctrl Key Combinations at ASCII char value + if ( (rec.modifiers & controlKey) && keychar >= 0 && keychar < 0x20 ) + { + keychar += 0x40 ; + } + long keyval = wxMacTranslateKey(keychar, keycode) ; if ( (focus != NULL) && wxTheApp->MacSendKeyDownEvent( focus , keyval , rec.modifiers , rec.when , rec.where.h , rec.where.v ) ) { // was handled internally diff --git a/src/mac/toplevel.cpp b/src/mac/toplevel.cpp index 44af089624..56d3c0ded6 100644 --- a/src/mac/toplevel.cpp +++ b/src/mac/toplevel.cpp @@ -249,9 +249,13 @@ pascal OSStatus wxMacWindowEventHandler( EventHandlerCallRef handler , EventRef short keychar ; keychar = short(rec.message & charCodeMask); keycode = short(rec.message & keyCodeMask) >> 8 ; - long keyval = wxMacTranslateKey(keychar, keycode) ; wxWindow* focus = wxWindow::FindFocus() ; - + // it is wxWindows Convention to have Ctrl Key Combinations at ASCII char value + if ( (rec.modifiers & controlKey) && keychar >= 0 && keychar < 0x20 ) + { + keychar += 0x40 ; + } + long keyval = wxMacTranslateKey(keychar, keycode) ; if ( (focus != NULL) && wxTheApp->MacSendKeyDownEvent( focus , keyval , rec.modifiers , rec.when , rec.where.h , rec.where.v ) ) { // was handled internally -- 2.50.0