[ipxe-devel] [ipxe] [efi] Read key each time through iskey to avoid dropping keypresses (#44)

Jonathan Dieter notifications at github.com
Mon Feb 29 09:37:16 GMT 2016


As Tong Ho brought up in 2012 (http://lists.ipxe.org/pipermail/ipxe-devel/2012-April/001381.html), the current code for reading keypresses in EFI appears to break the UEFI spec.  To summarize, CheckEvent may (should? must?) clear the checked event.  On my Asus Z77, this means that no key presses are actually being read by ReadKeyStroke (http://lists.ipxe.org/pipermail/ipxe-devel/2016-February/004676.html).

I've written a patch that works around this by running ReadKeyStroke in efi_iskey(), storing it in a global variable, and then working with that variable in efi_getchar().

This patch fixes my system to the point where it's reading rougly 60% of the keypresses instead of none at all, but I am still losing keypresses, and I have no idea why.
You can view, comment on, or merge this pull request online at:

  https://github.com/ipxe/ipxe/pull/44

-- Commit Summary --

  * [efi] Read key each time through iskey to avoid dropping keypresses

-- File Changes --

    M src/interface/efi/efi_console.c (28)

-- Patch Links --

https://github.com/ipxe/ipxe/pull/44.patch
https://github.com/ipxe/ipxe/pull/44.diff

---
Reply to this email directly or view it on GitHub:
https://github.com/ipxe/ipxe/pull/44
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20160229/c19bd9e0/attachment.html>


More information about the ipxe-devel mailing list