Fix shift-modified hotkeys in GTK (thanks Ian)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1809
This commit is contained in:
Jon Evans 2021-05-29 13:18:20 -04:00
parent 85ca85652d
commit ae84696341
1 changed files with 12 additions and 0 deletions

View File

@ -508,6 +508,18 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
wxLogTrace( kicadTraceKeyEvent, "TOOL_DISPATCHER::DispatchWxEvent %s", dump( *ke ) );
#ifdef __WXGTK__
// Do not process wxEVT_CHAR_HOOK for a shift-modified key, as ACTION_MANAGER::RunHotKey
// will run the un-shifted key and that's not what we want. Wait to get the translated
// key from wxEVT_CHAR.
// See https://gitlab.com/kicad/code/kicad/-/issues/1809
if( type == wxEVT_CHAR_HOOK && ke->GetModifiers() == wxMOD_SHIFT )
{
aEvent.Skip();
return;
}
#endif
keyIsEscape = ( ke->GetKeyCode() == WXK_ESCAPE );
wxTextEntry* textEntry = dynamic_cast<wxTextEntry*>( focus );