commit 7643f4bc0eacacb075dbbbc4176cae1a13b47e4e from: marcus date: Wed Mar 20 10:56:58 2002 UTC don't send escape twice. commit - b52f8f4f1c3d2afe83f4f84b56763bf6709810a5 commit + 7643f4bc0eacacb075dbbbc4176cae1a13b47e4e blob - a0a66026dd33983fda352d5c8a2838218d41f8eb blob + 7b243d0741195ed5c849d2b0cfc9c7a79e3f069f --- de/mud/terminal/vt320.java +++ de/mud/terminal/vt320.java @@ -622,6 +622,8 @@ public abstract class vt320 extends VDU implements Key * @param s the string to be sent */ private boolean writeSpecial(String s) { + if (s == null) + return true; if (((s.length() >= 3) && (s.charAt(0) == 27) && (s.charAt(1)=='O'))) { if (vt52mode) { if ((s.charAt(2) >= 'P') && (s.charAt(2) <= 'S')) { @@ -754,7 +756,10 @@ public abstract class vt320 extends VDU implements Key write("\n",false); if (localecho) putString("\r\n"); // bad hack } - + + if (keyCode == KeyEvent.VK_ESCAPE) // handled in keyPressed + return; + // FIXME: on german PC keyboards you have to use Alt-Ctrl-q to get an @, // so we can't just use it here... will probably break some other VMS // codes. -Marcus @@ -1586,7 +1591,7 @@ public abstract class vt320 extends VDU implements Key term_state = TSTATE_VT52Y; break; default: - System.out.println("ESC unknown letter: ("+((int)c)+")"); + System.out.println("ESC unknown letter: "+c+" ("+((int)c)+")"); break; } break;