# 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;