From 08b52131df8a17ceb61920e419bea94d21f2544b Mon Sep 17 00:00:00 2001 From: Collin Anderson Date: Thu, 5 May 2016 11:34:16 -0400 Subject: [PATCH] Fix beep on hotkey press in OS X --- common/tool/tool_dispatcher.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/common/tool/tool_dispatcher.cpp b/common/tool/tool_dispatcher.cpp index 90b42cc2fe..4ee9ebc326 100644 --- a/common/tool/tool_dispatcher.cpp +++ b/common/tool/tool_dispatcher.cpp @@ -323,7 +323,18 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent ) m_toolMgr->ProcessEvent( *evt ); // pass the event to the GUI, it might still be interested in it +#ifdef __APPLE__ + // On OS X, key events are always meant to be caught. An uncaught key event is assumed + // to be a user input error by OS X (as they are pressing keys in a context where nothing + // is there to catch the event). This annoyingly makes OS X beep and/or flash the screen + // in pcbnew and the footprint editor any time a hotkey is used. The correct procedure is + // to NOT pass key events to the GUI under OS X. + + if( type != wxEVT_CHAR ) + aEvent.Skip(); +#else aEvent.Skip(); +#endif updateUI(); }