Yes. 2 seconds is for some other terminal tools, that cannot do the F10 translation.
Thanks/Ray > -----Original Message----- > From: Heyi Guo [mailto:heyi....@linaro.org] > Sent: Wednesday, November 8, 2017 4:45 PM > To: Ni, Ruiyu <ruiyu...@intel.com>; Zeng, Star <star.z...@intel.com>; edk2- > de...@lists.01.org > Cc: Dong, Eric <eric.d...@intel.com> > Subject: Re: [MdeModulePkg/TerminalDxe] Why do we delay 2s for ESC > being pressed? > > > > 在 11/8/2017 4:34 PM, Ni, Ruiyu 写道: > > No. > > Even a terminal tool can recognize F10, it still needs to translate it into > > "ESC > [ V" > > and send the three bytes to firmware. > Got it. But the 2 seconds timeout is not for this situation, right? If > terminal > tool could translate and send the key sequence, I think it can complete 3 > bytes transfer in a very short time, isn't it? E.g. 9600 baud / 8 = 1200 > Bytes/s > (ignore control bits). > > So 2 seconds timeout is still for user to enter the sequence "ESC [ V" > manually? > > Thanks, > > Heyi > > > > > Thanks/Ray > > > >> -----Original Message----- > >> From: Heyi Guo [mailto:heyi....@linaro.org] > >> Sent: Wednesday, November 8, 2017 4:31 PM > >> To: Ni, Ruiyu <ruiyu...@intel.com>; Zeng, Star <star.z...@intel.com>; > >> edk2- de...@lists.01.org > >> Cc: Dong, Eric <eric.d...@intel.com> > >> Subject: Re: [MdeModulePkg/TerminalDxe] Why do we delay 2s for ESC > >> being pressed? > >> > >> > >> > >> 在 11/8/2017 3:55 PM, Ni, Ruiyu 写道: > >>> Heyi, > >>> > >>> If you check the comments below in TerminalConIn.c: > >>> > >> > https://github.com/tianocore/edk2/blob/master/MdeModulePkg/Universal > >> /C > >>> onsole/TerminalDxe/TerminalConIn.c#L1319 > >>> > >>> TerminalDxe driver needs to determine whether user wants to press > >>> ESC alone, or press "ESC [ V" for F10 (PCANSI terminal). > >> Do you mean F10 is not directly supported on some terminal tools so > >> that we need to press 3 keys "ESC [ V" quickly and continuously to > emulate F10? > >> > >> Thanks, > >> > >> Heyi > >>> 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