diff --git a/app/PreprocessedTerminal.qml b/app/PreprocessedTerminal.qml
index a96f7df..725a2cc 100644
--- a/app/PreprocessedTerminal.qml
+++ b/app/PreprocessedTerminal.qml
@@ -79,7 +79,7 @@ Item{
 
         session: KSession {
             id: ksession
-            kbScheme: "linux"
+            kbScheme: "default"
 
             onFinished: {
                 Qt.quit()
diff --git a/konsole-qml-plugin/src/KeyboardTranslator.cpp b/konsole-qml-plugin/src/KeyboardTranslator.cpp
index a2ad22c..e87631d 100644
--- a/konsole-qml-plugin/src/KeyboardTranslator.cpp
+++ b/konsole-qml-plugin/src/KeyboardTranslator.cpp
@@ -439,7 +439,7 @@ bool KeyboardTranslatorReader::parseAsStateFlag(const QString& item , KeyboardTr
 bool KeyboardTranslatorReader::parseAsKeyCode(const QString& item , int& keyCode)
 {
     QKeySequence sequence = QKeySequence::fromString(item);
-    if ( !sequence.isEmpty() )
+    if ( !sequence.isEmpty() && sequence[0] != Qt::Key_unknown )
     {
         keyCode = sequence[0];
 
@@ -453,6 +453,12 @@ bool KeyboardTranslatorReader::parseAsKeyCode(const QString& item , int& keyCode
         keyCode = Qt::Key_PageUp;
     else if ( item == "next" )
         keyCode = Qt::Key_PageDown;
+    else if ( item == "bracketleft" )
+        keyCode = Qt::Key_BracketLeft;
+    else if ( item == "backslash" )
+        keyCode = Qt::Key_Backslash;
+    else if ( item == "bracketright" )
+        keyCode = Qt::Key_BracketRight;
     else
         return false;