From 5a268789ef8d08b3cb201b0cbeb82c8e3de88a3d Mon Sep 17 00:00:00 2001 From: Orgad Shaneh <orgad.shaneh@audiocodes.com> Date: Fri, 22 Nov 2013 06:16:01 +0200 Subject: [PATCH] FakeVim: Fix control modifier test * Fix logic * Rename the function Change-Id: Ifa0bb77693e17ee75f30646ea3bbbf858e6e391c Reviewed-by: Lukas Holecek <hluk@email.cz> Reviewed-by: hjk <hjk121@nokiamail.com> --- src/plugins/fakevim/fakevimhandler.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 9540e41933d..5c14eb1b0ce 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -784,10 +784,9 @@ static const QMap<QString, int> &vimKeyNames() return k; } -bool isControlModifier(const Qt::KeyboardModifiers &mods) +static bool isOnlyControlModifier(const Qt::KeyboardModifiers &mods) { - static const int ctrl = HostOsInfo::controlModifier(); - return (mods & ctrl) == ctrl; + return (mods ^ HostOsInfo::controlModifier()) == Qt::NoModifier; } @@ -949,7 +948,7 @@ public: bool isControl() const { - return isControlModifier(m_modifiers); + return isOnlyControlModifier(m_modifiers); } bool isControl(int c) const @@ -2221,7 +2220,7 @@ bool FakeVimHandler::Private::wantsOverride(QKeyEvent *ev) } // We are interested in overriding most Ctrl key combinations. - if (isControlModifier(mods) + if (isOnlyControlModifier(mods) && !config(ConfigPassControlKey).toBool() && ((key >= Key_A && key <= Key_Z && key != Key_K) || key == Key_BracketLeft || key == Key_BracketRight)) { -- GitLab