diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 447e560cdfa89d713885fa21c423330f872b1919..43d9a3833fa3d60bc7102936bd1c1b22fff019d9 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