diff options
author | hjk <hjk@qt.io> | 2020-10-08 05:43:39 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2020-10-08 06:24:46 +0000 |
commit | 35932385bc4d6b129232a279fe3ad872aa92ba33 (patch) | |
tree | acb8e0194da0c46ed2bcfbe4b7a9d772f4841460 /src/plugins/fakevim | |
parent | 92cce874331ac928ab8ab0cd9df7de2172bb341c (diff) |
FakeVim: Allow AltGr as modifier to produce normal key values
Task-number: QTCREATORBUG-24673
Change-Id: I6d1aa5badd3077f0885d5b2470527c006096809d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/fakevim')
-rw-r--r-- | src/plugins/fakevim/fakevimhandler.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 80b1611b8d5..e8a4ecf844c 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -929,9 +929,14 @@ static bool isOnlyControlModifier(const Qt::KeyboardModifiers &mods) return (mods ^ ControlModifier) == Qt::NoModifier; } -static bool hasControlModifier(const Qt::KeyboardModifiers &mods) +static bool isAcceptableModifier(const Qt::KeyboardModifiers &mods) { - return mods.testFlag(ControlModifier); + if (mods & ControlModifier) { + // Generally, CTRL is not fine, except in combination with ALT. + // See QTCREATORBUG-24673 + return mods & AltModifier; + } + return true; } @@ -1106,7 +1111,7 @@ public: bool is(int c) const { - return m_xkey == c && !hasControlModifier(m_modifiers); + return m_xkey == c && isAcceptableModifier(m_modifiers); } bool isControl() const |