From 6424bd585c2020e2ca344a4fb0b57a5c54408398 Mon Sep 17 00:00:00 2001
From: Martin Aumueller <aumuell@reserv.at>
Date: Tue, 23 Dec 2008 22:28:46 +0100
Subject: [PATCH] fakevim: return false from eventFilter when key has not been
 handled (makes standard key bindings work)

---
 src/plugins/fakevim/fakevimhandler.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 53f3fa26b02..447e560cdfa 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -511,7 +511,7 @@ void FakeVimHandler::Private::showBlackMessage(const QString &msg)
 
 bool FakeVimHandler::Private::handleCommandMode(int key, const QString &text)
 {
-    Q_UNUSED(text)
+    bool handled = true;
 
     if (m_submode == RegisterSubMode) {
         m_register = key;
@@ -834,9 +834,11 @@ bool FakeVimHandler::Private::handleCommandMode(int key, const QString &text)
             leaveVisualMode();
     } else {
         qDebug() << "Ignored in command mode: " << key << text;
-        return false;
+        if (text.isEmpty())
+            handled = false;
     }
-    return true;
+
+    return handled;
 }
 
 bool FakeVimHandler::Private::handleInsertMode(int key, const QString &text)
-- 
GitLab