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
This commit is contained in:
@@ -249,9 +249,13 @@ pascal OSStatus wxMacWindowEventHandler( EventHandlerCallRef handler , EventRef
|
|||||||
short keychar ;
|
short keychar ;
|
||||||
keychar = short(rec.message & charCodeMask);
|
keychar = short(rec.message & charCodeMask);
|
||||||
keycode = short(rec.message & keyCodeMask) >> 8 ;
|
keycode = short(rec.message & keyCodeMask) >> 8 ;
|
||||||
long keyval = wxMacTranslateKey(keychar, keycode) ;
|
|
||||||
wxWindow* focus = wxWindow::FindFocus() ;
|
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 ) )
|
if ( (focus != NULL) && wxTheApp->MacSendKeyDownEvent( focus , keyval , rec.modifiers , rec.when , rec.where.h , rec.where.v ) )
|
||||||
{
|
{
|
||||||
// was handled internally
|
// was handled internally
|
||||||
|
@@ -249,9 +249,13 @@ pascal OSStatus wxMacWindowEventHandler( EventHandlerCallRef handler , EventRef
|
|||||||
short keychar ;
|
short keychar ;
|
||||||
keychar = short(rec.message & charCodeMask);
|
keychar = short(rec.message & charCodeMask);
|
||||||
keycode = short(rec.message & keyCodeMask) >> 8 ;
|
keycode = short(rec.message & keyCodeMask) >> 8 ;
|
||||||
long keyval = wxMacTranslateKey(keychar, keycode) ;
|
|
||||||
wxWindow* focus = wxWindow::FindFocus() ;
|
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 ) )
|
if ( (focus != NULL) && wxTheApp->MacSendKeyDownEvent( focus , keyval , rec.modifiers , rec.when , rec.where.h , rec.where.v ) )
|
||||||
{
|
{
|
||||||
// was handled internally
|
// was handled internally
|
||||||
|
Reference in New Issue
Block a user