]> git.saurik.com Git - wxWidgets.git/commitdiff
added key code fix to carbon event handler
authorStefan Csomor <csomor@advancedconcepts.ch>
Wed, 14 Aug 2002 21:46:34 +0000 (21:46 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Wed, 14 Aug 2002 21:46:34 +0000 (21:46 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/toplevel.cpp
src/mac/toplevel.cpp

index 44af0896241b39ac646a4fc6839b91b37d5a0521..56d3c0ded67cd315e2ac89c2ad7c1df32245f4eb 100644 (file)
@@ -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
index 44af0896241b39ac646a4fc6839b91b37d5a0521..56d3c0ded67cd315e2ac89c2ad7c1df32245f4eb 100644 (file)
@@ -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