Fix #5575 also on Windows.

This commit is contained in:
Enrico Forestieri 2015-05-16 23:36:40 +02:00
parent d33caae010
commit 324abefd53

View File

@ -2141,16 +2141,19 @@ void GuiApplication::processKeySym(KeySymbol const & keysym, KeyModifier state)
} }
// If a non-Shift Modifier is used we have a non-bound key sequence // If a non-Shift Modifier is used we have a non-bound key sequence
// (such as Alt+j = j). This should be omitted (#5575). // (such as Alt+j = j). This should be omitted (#5575).
// FIXME: On Windows, the AltModifier and ShiftModifer is also // On Windows, AltModifier and ControlModifier are both
// set when AltGr is pressed. Therefore, the check below cannot be used // set when AltGr is pressed. Therefore, in order to not
// since it breaks AltGr-bound symbols (see #5575 for details). // break AltGr-bound symbols (see #5575 for details),
#if !defined(_WIN32) // unbound Ctrl+Alt key sequences are allowed.
if (state & AltModifier || state & ControlModifier || state & MetaModifier) { if ((state & AltModifier || state & ControlModifier || state & MetaModifier)
#if defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN)
&& !(state & AltModifier && state & ControlModifier)
#endif
) {
current_view_->message(_("Unknown function.")); current_view_->message(_("Unknown function."));
current_view_->restartCursor(); current_view_->restartCursor();
return; return;
} }
#endif
// Since all checks above were passed, we now really have text that // Since all checks above were passed, we now really have text that
// is to be inserted (e.g., AltGr-bound symbols). Thus change the // is to be inserted (e.g., AltGr-bound symbols). Thus change the
// func to LFUN_SELF_INSERT and thus cause the text to be inserted // func to LFUN_SELF_INSERT and thus cause the text to be inserted