diff --git a/src/main/java/myutil/Terminal.java b/src/main/java/myutil/Terminal.java
index 36be5a72fa0cff67395988b40ffdae9c905e3a5d..5700aff48bc8fc06e611de5fc875622a1588b3b5 100644
--- a/src/main/java/myutil/Terminal.java
+++ b/src/main/java/myutil/Terminal.java
@@ -58,10 +58,13 @@ public class Terminal {
     private final static int BACKSPACE = 8;
     private final static int DEL = 127;
 
+    private final static int ESC = 27;
+
     private Vector<String> buffer;
     private int maxbufferSize = MAX_BUFFER_SIZE;
     private TerminalProviderInterface terminalProvider;
     private int cpt;
+    private String sequence;
 
 
 
@@ -82,35 +85,68 @@ public class Terminal {
 
        printPrompt(cpt);
        String currentBuf = "";
+       sequence = null;
+       long timeSeq = 0;
        try {
            while(val != 3) {
                val = (RawConsoleInput.read(true));
                x = (char) val;
 
-               if (val == CR) {
-                   if (currentBuf.length() == 0) {
-                       myPrint("\n");
-                       printPrompt(cpt);
+               // Special sequence?
+               if (sequence == null) {
+                   if (val == ESC) {
+                       sequence = "";
+                       timeSeq = System.currentTimeMillis();
+                   }
+               } else  {
+                   //Time check
+                   long now = System.currentTimeMillis();
+                   if (now - timeSeq > 10) {
+                       sequence = null;
                    } else {
-                       cpt++;
-                       //myPrint("\n");
-                       return currentBuf;
+                       sequence += x;
+                   }
+               }
+
+               if ((sequence != null) && (sequence.length() == 3)) {
+                   //TraceManager.addDev("Sequence=" + sequence);
+                   //printSequence(sequence);
+                   if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 51) &&
+                           (sequence.charAt(2) == 126)) {
+                       currentBuf = del(currentBuf);
+                       sequence = null;
+                        val = -1;
+                       // DEL
+                       //TraceManager.addDev("DEL");
                    }
+               } else if ((sequence != null) && (sequence.length() > 4)) {
+
                }
 
-               if ((val == BACKSPACE) || (val == DEL)) {
-                   myPrint("\b \b");
-                   if (currentBuf.length() > 0) {
-                       currentBuf = currentBuf.substring(0, currentBuf.length() - 1);
+               if ((sequence == null) && (val != -1)) {
+                   if (val == CR) {
+                       if (currentBuf.length() == 0) {
+                           myPrint("\n");
+                           printPrompt(cpt);
+                       } else {
+                           cpt++;
+                           //myPrint("\n");
+                           return currentBuf;
+                       }
+                   }
+
+                   if ((val == BACKSPACE) || (val == DEL)) {
+                       currentBuf = del(currentBuf);
+                   } else if (val >= 32) {
+                       //System.out.print("" + x + "(val=" + val + ");");
+                       myPrint("" + x);
+                       currentBuf += x;
                    }
-               } else if (val >= 32) {
-                   //System.out.print("" + x + "(val=" + val + ");");
-                   myPrint(""+x);
-                   currentBuf += x;
                }
 
            }
        } catch (Exception e) {
+           TraceManager.addDev("Exception in terminal:" + e.getMessage());
            return null;
        }
 
@@ -118,6 +154,15 @@ public class Terminal {
     return "";
    }
 
+
+   private String del(String currentBuf) {
+       if (currentBuf.length() > 0) {
+           myPrint("\b \b");
+           currentBuf = currentBuf.substring(0, currentBuf.length() - 1);
+       }
+       return currentBuf;
+   }
+
    public void myPrint(String s) {
        System.out.print(s);
    }
@@ -130,6 +175,13 @@ public class Terminal {
        }
    }
 
+   private void printSequence(String seq) {
+       for(int i=0; i<seq.length(); i++) {
+           System.out.print("" + (int)(seq.charAt(i)) + " ");
+       }
+       System.out.println("");
+   }
+