# HG changeset patch
# User koda
# Date 1301927247 -7200
# Node ID 951767beffc8e43324f39e06f8541854f036b958
# Parent  ce1a761d3c1e3e36933428ee889f45fe513f5b5a
you can use esc to exit chat when input is empty

diff -r ce1a761d3c1e -r 951767beffc8 hedgewars/uChat.pas
--- a/hedgewars/uChat.pas	Mon Apr 04 12:53:11 2011 +0200
+++ b/hedgewars/uChat.pas	Mon Apr 04 16:27:27 2011 +0200
@@ -269,7 +269,13 @@
                 SetLine(InputStr, InputStr.s, true)
                 end;
         {Esc}
-        27: SetLine(InputStr, '', true);
+        27: if Length(InputStr.s) > 0 then SetLine(InputStr, '', true)
+            else
+                begin
+                FreezeEnterKey;
+                SDL_EnableKeyRepeat(0,0);
+                GameState:= gsGame;
+                end;
         {Return}
         3, 13, 271: begin
             if Length(InputStr.s) > 0 then
@@ -342,9 +348,10 @@
     GameState:= gsChat;
     SDL_EnableKeyRepeat(200,45);
     if length(s) = 0 then
-        KeyPressChat(27)
+        SetLine(InputStr, '', true)
     else
         begin
+        // err, does anyone have any documentation on this sequence?
         KeyPressChat(27);
         KeyPressChat(47);
         KeyPressChat(116);
diff -r ce1a761d3c1e -r 951767beffc8 hedgewars/uKeys.pas
--- a/hedgewars/uKeys.pas	Mon Apr 04 12:53:11 2011 +0200
+++ b/hedgewars/uKeys.pas	Mon Apr 04 16:27:27 2011 +0200
@@ -386,7 +386,9 @@
 
 procedure FreezeEnterKey;
 begin
+    tkbd[3]:= 1;
     tkbd[13]:= 1;
+    tkbd[27]:= 1;
     tkbd[271]:= 1;
 end;