Heyi,

If you check the comments below in TerminalConIn.c:
https://github.com/tianocore/edk2/blob/master/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c#L1319

TerminalDxe driver needs to determine whether user wants to press ESC alone,
or press "ESC [ V" for F10 (PCANSI terminal).

So a 2 second timeout is added to wait additional keys.

Thanks/Ray

> -----Original Message-----
> From: Zeng, Star
> Sent: Wednesday, November 8, 2017 3:25 PM
> To: Heyi Guo <heyi....@linaro.org>; edk2-devel@lists.01.org
> Cc: Ni, Ruiyu <ruiyu...@intel.com>; Dong, Eric <eric.d...@intel.com>; Zeng,
> Star <star.z...@intel.com>
> Subject: RE: [MdeModulePkg/TerminalDxe] Why do we delay 2s for ESC
> being pressed?
> 
> Cc Terminal expert Ray to see if any comments on this.
> 
> 
> Thanks,
> Star
> -----Original Message-----
> From: Heyi Guo [mailto:heyi....@linaro.org]
> Sent: Wednesday, November 8, 2017 3:04 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star <star.z...@intel.com>; Dong, Eric <eric.d...@intel.com>
> Subject: [MdeModulePkg/TerminalDxe] Why do we delay 2s for ESC being
> pressed?
> 
> Hi folks,
> 
> We found ESC key responded fairly slow on serial port terminal, and we think
> it might be caused by the code in UnicodeToEfiKey in TerminalConIn.c:
> 
>      if (UnicodeChar == ESC) {
>        TerminalDevice->InputState = INPUT_STATE_ESC;
>      }
> 
>      if (UnicodeChar == CSI) {
>        TerminalDevice->InputState = INPUT_STATE_CSI;
>      }
> 
>      if (TerminalDevice->InputState != INPUT_STATE_DEFAULT) {
>        Status = gBS->SetTimer(
>                        TerminalDevice->TwoSecondTimeOut,
>                        TimerRelative,
>                        (UINT64)20000000
>                        );
>        ASSERT_EFI_ERROR (Status);
>        continue;
>      }
> 
> It seems we intentionally add 2 seconds delay for ESC key press. This
> provides not so good user experience when we press ESC to exit or cancel
> some operation.
> 
> We tried reducing this timeout value to 1 second, then the experience
> improved much and we didn't find any issue introduced.
> 
> What's the reason for this timeout value and is there any improvement?
> 
> Thanks and regards,
> 
> Heyi

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to