[ipxe-devel] serial arrow keys broken
Michael Brown
mcb30 at ipxe.org
Fri Apr 25 15:50:23 UTC 2014
On 23/04/14 02:11, Ben Hildred wrote:
> Are you seeing the background colour being drawn character by
> character on the VGA output (rather than changing colour as a single
> block)? If so then something very strange is happening, since that
> code was removed in November.
>
> It may be happening on serial but it definitely is happening on vga,
> including today's master without local patches. Note that this happens
> on the menu and config only, not on login.
OK, I understand what you are seeing now.
The "clear screen" code does use <ESC>[2J to clear the whole screen at
once. However, the menu code will then draw each line within the menu
(including blank lines) by printing spaces. (This is done to keep the
code simple, since code size is an important consideration for iPXE.)
We could potentially optimise the drawing of blank lines by using
<ESC>[2K to clear to the end of the line. This would require some
changes to menu_ui.c and settings_ui.c to use cursor movements and
clrtoeol() rather than printing spaces, a .clrtoeol method in
ansi_screen.c, and an implementation of <ESC>[2K in all ANSI-emulating
consoles (e.g. the BIOS console and the EFI console).
Michael
More information about the ipxe-devel
mailing list