From 69fbf9ddcda07e90d425f689aac9b3ed9ceabfd6 Mon Sep 17 00:00:00 2001
From: Martin Aumueller <aumuell@reserv.at>
Date: Wed, 24 Dec 2008 16:20:31 +0100
Subject: [PATCH] fakevim: fix recognition of CTRL+R

---
 src/plugins/fakevim/fakevimhandler.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 447e560cdfa..43d9a3833fa 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -314,11 +314,13 @@ bool FakeVimHandler::Private::handleEvent(QKeyEvent *ev)
     if (m_fakeEnd)
         m_tc.movePosition(Right, MoveAnchor, 1);
 
-    if (key >= Key_A && key <= Key_Z
-        && (ev->modifiers() & Qt::ShiftModifier) == 0)
-        key += 32;
-    if ((ev->modifiers() & Qt::ControlModifier) != 0)
+    if ((ev->modifiers() & Qt::ControlModifier) != 0) {
         key += 256;
+        key += 32; // make it lower case
+    } else if (key >= Key_A && key <= Key_Z
+        && (ev->modifiers() & Qt::ShiftModifier) == 0) {
+        key += 32;
+    }
     bool handled = handleKey(key, ev->text());
 
     // We fake vi-style end-of-line behaviour
-- 
GitLab