Karl Kleinpaste writes:
Glynn Clements <glynn(a)sensei.co.uk> writes:
> XEmacs treats the code which corresponds to the VERASE character as
> Backspace (i.e. it is consistent with the kernel's tty driver). If
> your Backspace key generates \010, then you need to use
> stty erase ^V^H
> to tell the tty driver about it.
No.
[1007] [22:30:27] beaver:~> stty -a
speed 38400 baud; rows 67; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^G; eof = ^D; eol = <undef>;
^^
I hit the key that generates \177 in an xterm, and XEmacs 21 calls it
a "BS". This is wrong.
XEmacs needs to convert ASCII keycodes to keysyms. So there are
two things we need to find out: 1) what keycode corresponds to
the keyboard key that the user wants to use to delete backward,
and 2) what keysym should this be mapped to. We need to find out
(2) because there are keybindings that want to apply a prefix key
or a modifier to "the key that deletes backward" to make Emacs
delete words, s-expressions and so forth. So we need one keysym
that reliably has that meaning.
That keysym is Backspace. In the old DEC keyboard model, that
keysym would have been Delete and that is the traditional Emacs
viewpoint. But DEC's empire (excuse me, Digital's empire) is
dust. For most of the people who use computers today, Delete is
now the keysym that means "delete one character forward" and
Backpsace means "delete one character backward".
What XEmacs does with the VERASE character reflects the new
reality. We take the keycode that the user has designated as
their backward-erase key and map that to the backward-erase
keysym, which is Backspace. It seems pretty fishy to crusty
old-timers like me and thee, but I was forced to conclude that
it makes sense.