The situation under X is not really different. There is just a different layer, that is, the X window system translates the scancodes into its own keysyms, which are much more varied and precise than the console ones, and feeds them into applications (by the way, this is the reason why XEmacs is not plagued by the problem: X translates keycode 22 to keysym BackSpace and keycode 107 to keysym Delete, and then the user can easily assign to those keysyms the desired behaviour). Of course, a terminal emulator program (usually a VT100 emulator in the X world) must translate the X keysyms into ASCII sequences, so we are again in our sore business.
More in detail, usually xterm behaves
exactly like the console (i.e., it emits the same ASCII
sequences), but, for instance, gnome-terminal in
Red Hat <7.0 or ≥7.1 emits BS
for
Backspace and DEL
for
Delete. The real fun starts when you realise that by
default they use the same terminal-database entry, so
the fact that the kbs capability is associated to an
ASCII DEL
makes all correctly behaving
applications produce the same behaviour for the Backspace
and Delete keys in
gnome-terminal. The simple statement
bash$ export TERM=gnome |
In any case, this is not always a solution: if, for instance, you have a Red Hat 7.0 distribution, your gnome-terminal behaves like a console. But beware: if you upgraded your desktop using the Helix distribution, then your gnome-terminal behaves like a pre-7.0 Red Hat.
Just to make easier the following discussion, let us define
standard a VT100 emulator behaving like the console,
and deviant one that emits BS
for
Backspace and DEL
for
Delete.[1]
Thus, for instance, xterm has always been
standard in the Debian distribution, while it switched a couple of times
from standard to deviant and viceversa in Red Hat; the behaviour of
gnome-terminal is even more erratic. See Section 8 for some information on how to turn a deviant terminal
into a standard one.
[1] | Also these definitions have been asserted/disputed several times commenting this document. If you have any definitive information on this subject, please write me. |