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