iPXE discussion forum
Feedback on Ctrl key in UEFI mode for iPXE - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: Feedback on Ctrl key in UEFI mode for iPXE (/showthread.php?tid=13276)



Feedback on Ctrl key in UEFI mode for iPXE - brett - 2018-09-27 21:41

Feedback from a BIOS vendor, if it's useful:

The root cause of CTRL not working in shell is because iPXE used ReadKeyStroke to read the key but not ReadKeyStrokeEx.
And iPXE can works on EDKII base project is because EDKII Translate the CTRL+<key> characters in ReadKeyStroke.

UEFI specification does not define such conversion requirements, so the right way is all applications should use ReadKeyStrokeEx but not translate key combinations in ReadKeyStroke.


RE: Feedback on Ctrl key in UEFI mode for iPXE - NiKiZe - 2018-09-28 06:11

(2018-09-27 21:41)brett Wrote:  The root cause of CTRL not working in shell is because iPXE used ReadKeyStroke to read the key but not ReadKeyStrokeEx.
And iPXE can works on EDKII base project is because EDKII Translate the CTRL+<key> characters in ReadKeyStroke.

UEFI specification does not define such conversion requirements, so the right way is all applications should use ReadKeyStrokeEx but not translate key combinations in ReadKeyStroke.

Thanks however ...
Feedback to BIOS vendors, if it's useful: Don't create broken real world implementations

(Sorry for the harsh reply here, but this isn't the only thing that is broken-ish on some implementations, and devs should know that EDKII is what most others develop and test on, so if something works on EDKII but not elsewhere, it is "elsewhere" that is seen as broken.)


RE: Feedback on Ctrl key in UEFI mode for iPXE - mcb30 - 2019-03-20 13:59

(2018-09-27 21:41)brett Wrote:  Feedback from a BIOS vendor, if it's useful:

The root cause of CTRL not working in shell is because iPXE used ReadKeyStroke to read the key but not ReadKeyStrokeEx.
And iPXE can works on EDKII base project is because EDKII Translate the CTRL+<key> characters in ReadKeyStroke.

UEFI specification does not define such conversion requirements, so the right way is all applications should use ReadKeyStrokeEx but not translate key combinations in ReadKeyStroke.

Thanks for passing on the vendor's feedback; this is very useful!

(The vendor approach illustrates the kind of obstinate stupidity that unfortunately pervades the design of the UEFI specification.)

Will update iPXE to open EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL (since it's not included within EFI_SYSTEM_TABLE). We'll almost certainly need to handle both ReadKeyStroke and ReadKeyStrokeEx to maintain compatibility with older systems that don't provide ReadKeyStrokeEx.

Michael


RE: Feedback on Ctrl key in UEFI mode for iPXE - mcb30 - 2021-01-27 14:11

This has now been implemented as of commit https://github.com/ipxe/ipxe/commit/a08244ecc4caad567d2607f84cd303e8a3c0ae98