diff --git a/src/main/java/view/EditorView.java b/src/main/java/view/EditorView.java
index 6a7bac4343553135da8b7943557c92e7e164a81c..e13fb373ec6ff314ea2e4a27b4d4257c8b34ee0f 100644
--- a/src/main/java/view/EditorView.java
+++ b/src/main/java/view/EditorView.java
@@ -82,5 +82,14 @@ public class EditorView extends JPanel {
         });
 
         setPreferredSize(new Dimension(400, 600));
+
+        inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "escape");
+        getActionMap().put("escape", new AbstractAction() {
+            @Override
+            public void actionPerformed(ActionEvent actionEvent) {
+                System.out.println("transfer focus");
+                area.transferFocus();
+            }
+        });
     }
 }
diff --git a/src/main/java/view/TreePanel.java b/src/main/java/view/TreePanel.java
index f34ef8c37310a2ce59e25dec7c9c3d7f3975c0fd..5ffd6f006ebf5f373541ac7a9ca1a1796ae09d07 100644
--- a/src/main/java/view/TreePanel.java
+++ b/src/main/java/view/TreePanel.java
@@ -3,15 +3,20 @@ package view;
 import complexityparser.Model;
 import lib.Observable;
 import lib.Observer;
+import org.antlr.v4.gui.TreeViewer;
 
 import javax.swing.*;
 import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
 
 /**
  * a basic pannel displaying the ANTLR tree
  */
 public class TreePanel extends JScrollPane implements Observer {
 
+    private TreeViewer viewr;
+
     public TreePanel(Model m) {
         super(m.getTreeComponent());
         m.add(this);
@@ -19,12 +24,24 @@ public class TreePanel extends JScrollPane implements Observer {
         setPreferredSize(new Dimension(600, 600));
         getVerticalScrollBar().setUnitIncrement(10);
         getHorizontalScrollBar().setUnitIncrement(10);
+
+        JScrollBar vertical = getVerticalScrollBar();
+        InputMap im = vertical.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
+        im.put(KeyStroke.getKeyStroke("DOWN"), "positiveUnitIncrement");
+        im.put(KeyStroke.getKeyStroke("UP"), "negativeUnitIncrement");
+
+        JScrollBar horizontal = getHorizontalScrollBar();
+        im = horizontal.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
+        im.put(KeyStroke.getKeyStroke("RIGHT"), "positiveUnitIncrement");
+        im.put(KeyStroke.getKeyStroke("LEFT"), "negativeUnitIncrement");
     }
 
     @Override
     public void update(Observable m) {
         Model model = (Model) m;
 
-        setViewportView(model.getTreeComponent());
+
+        viewr = model.getTreeComponent();
+        setViewportView(viewr);
     }
 }