aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/fakevim
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-10-08 05:43:39 +0200
committerhjk <hjk@qt.io>2020-10-08 06:24:46 +0000
commit35932385bc4d6b129232a279fe3ad872aa92ba33 (patch)
treeacb8e0194da0c46ed2bcfbe4b7a9d772f4841460 /src/plugins/fakevim
parent92cce874331ac928ab8ab0cd9df7de2172bb341c (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.cpp11
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