在 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/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).
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