[ipxe-devel] minor issues with the full-screen UI

Ivan Shmakov oneingray at gmail.com
Tue Aug 21 18:32:48 UTC 2012

>>>>> Michael Brown writes:
>>>>> On Tuesday 21 Aug 2012 18:40:58 Ivan Shmakov wrote:

 >> While testing the latest menu patch, I've also noticed that while
 >> KEY_PPAGE, KEY_NPAGE work for CONSOLE_SERIAL (for a GNU Screen
 >> window under a Linux VT), KEY_HOME & KEY_END do not.  Indeed,
 >> there's no standard for encoding functional keys like those (which
 >> is the whole point of having terminfo(5), BTW.)

 > They should work provided that your terminal type is set to ANSI (or
 > sufficiently close to ANSI, given that we use only a few control
 > keys).

	Apparently, iPXE expects ^[[H and ^[[F for KEY_HOME and KEY_END,
	respectively (as I've just checked with sending these sequences
	with Screen.)  However, Linux sends them as ^[[1~ and ^[[4~,
	while for XTerm these are ^[OH and ^[OF.  (And I'm yet to check
	PuTTY.)  Honestly, I don't know what ANSI says on this matter.

	Yes, of these two, at least the Linux VT's keymap can be altered
	quite easily, but won't that make its new behavior inconsistent
	with its terminfo(5) entry?  Once again, given that the
	Ctrl+Alpha sequences are unlikely to differ between terminal
	emulators, my preference would be to allow for these to be used
	on CONSOLE_SERIAL either in addition (like it's already done in
	editstring.c) or instead of the current keys.

PS.  Scanning through keys.h I've noticed that BACKSPACE is defined as
	CTRL_H, while the GNU/Linux convention for as long as I can
	remember is 0177 = ASCII DEL.  Somewhat surprisingly, both ^H
	and ^? appear to just work.

FSF associate member #7257	http://sf-day.org/

More information about the ipxe-devel mailing list