diff --git a/common/tool/tool_dispatcher.cpp b/common/tool/tool_dispatcher.cpp index dde951573d..e556a600fb 100644 --- a/common/tool/tool_dispatcher.cpp +++ b/common/tool/tool_dispatcher.cpp @@ -462,8 +462,14 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent ) bool handled = false; if( evt ) + { handled = m_toolMgr->ProcessEvent( *evt ); + // ESC is the special key for canceling tools, and is therefore seen as handled + if( key == WXK_ESCAPE ) + handled = true; + } + // pass the event to the GUI, it might still be interested in it // Note wxEVT_CHAR_HOOK event is already skipped for special keys not used by KiCad // and wxEVT_LEFT_DOWN must be always Skipped.