Re: [Fwd: escape key]

From: James Cloos
Date: Sun Dec 17 2006 - 23:13:10 EST


>>>>> "Jan" == Jan Engelhardt <jengelh@xxxxxxxxxxxxxxx> writes:

Jan> HOWEVER, unix people probably _had a reason_ to make ESC generate
Jan> part of what function keys do.

You are looking at it backwards. The Escape key generates an ASCII
escape. The funtion keys (including the cursor keys) generate escape
sequences because the vt100 won out the title as the most ubiquitous
async serial terminal, and linux devs chose to have the console be
(mostly) vt100 compatable. As xterm, et al had done before.

The terminals (the actual hardware) used ASCII, so it was normal to
use Escape to initiate the sequences used by the function keys.

And that concept goes back a *lot* longer than unix. (Hmm. I can't
remember. Did TOPS-20 or its predecessor have glass terminals in the
day? I did get to use a DEC paper terminal a couple of times, but
that was connected to a VMS box back in the '80s; most of the time it
sat in the corner collecting dust....)

At any rate, given that Escape was used to initiate sequences sent to
the terminal for funtions such as moving the cursor around the screen,
clearing rows or cols, et al it must have only seemed natural to also
have it initiate sequences /from/ the terminal which did not fit into
standard ASCII. That was after all Escape's purpose in the ASCII std.

If you do want to change the console's terminal emulation, a good
first step would be to check whether any existing terminal already
uses something other than Escape to initiate function key sequences,
and, if so, promote that as the alternative to vt100-esque emulation.

Finally, note that the reason vt100 was chosen for the console was to
make it more useful for users who were physically at a linux box, were
logged in on the console, and from there logged in to remote servers.
That does remain something which the console *must* support.

-JimC
--
James Cloos <cloos@xxxxxxxxxxx> OpenPGP: 1024D/ED7DAEA6
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/