centralized key handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -233,18 +233,8 @@ pascal OSStatus wxMacWindowEventHandler( EventHandlerCallRef handler , EventRef
|
|||||||
case kEventClassTextInput :
|
case kEventClassTextInput :
|
||||||
if ( wxMacConvertEventToRecord( event , &rec ) )
|
if ( wxMacConvertEventToRecord( event , &rec ) )
|
||||||
{
|
{
|
||||||
short keycode ;
|
|
||||||
short keychar ;
|
|
||||||
keychar = short(rec.message & charCodeMask);
|
|
||||||
keycode = short(rec.message & keyCodeMask) >> 8 ;
|
|
||||||
wxWindow* focus = wxWindow::FindFocus() ;
|
wxWindow* focus = wxWindow::FindFocus() ;
|
||||||
// it is wxWindows Convention to have Ctrl Key Combinations at ASCII char value
|
if ( (focus != NULL) && wxTheApp->MacSendKeyDownEvent( focus , rec.message , rec.modifiers , rec.when , rec.where.h , rec.where.v ) )
|
||||||
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
|
// was handled internally
|
||||||
result = noErr ;
|
result = noErr ;
|
||||||
|
@@ -233,18 +233,8 @@ pascal OSStatus wxMacWindowEventHandler( EventHandlerCallRef handler , EventRef
|
|||||||
case kEventClassTextInput :
|
case kEventClassTextInput :
|
||||||
if ( wxMacConvertEventToRecord( event , &rec ) )
|
if ( wxMacConvertEventToRecord( event , &rec ) )
|
||||||
{
|
{
|
||||||
short keycode ;
|
|
||||||
short keychar ;
|
|
||||||
keychar = short(rec.message & charCodeMask);
|
|
||||||
keycode = short(rec.message & keyCodeMask) >> 8 ;
|
|
||||||
wxWindow* focus = wxWindow::FindFocus() ;
|
wxWindow* focus = wxWindow::FindFocus() ;
|
||||||
// it is wxWindows Convention to have Ctrl Key Combinations at ASCII char value
|
if ( (focus != NULL) && wxTheApp->MacSendKeyDownEvent( focus , rec.message , rec.modifiers , rec.when , rec.where.h , rec.where.v ) )
|
||||||
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
|
// was handled internally
|
||||||
result = noErr ;
|
result = noErr ;
|
||||||
|
Reference in New Issue
Block a user