-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Sun, Sep 03, 2006 at 08:11:18AM +0800, John Summerfield wrote:
The correct behaviour for the backspace key is to send the BS character, 0x08 aka ^H.
^? I suspect is the DEL character, 0x7f, which is unprintable (or prints as a space). I would expect the Delete key to produce a DEL character.
The correct behaviour for who ? For many platforms (Sun is the first one that comes to memory), the correct backspace char was always ^?
At least here, for me, DEL shows are ^[[3~ (ANSI code ?!?).
Yes, on ASCII, DEL is 7F and BS is 08. But remember the issue here are not charsets, but console control codes, which usually are the same, but not always.
The definition is kind of iffy, but on the console_codes manpage it states that, for Linux BS should indeed produce ^H. But lets remember that is Linux specific, and might not be true to many other platforms.
Things that could be affecting this:
termcap (Built on Feb 2005) ncurses (Bult on Feb 2005) xterm (Built on May 2006) [CentOS 4.3 maybe?]
and probably some other things I'm missing.
One thing to circunvect this problem (on xterm at least) is to add:
*xterm*backarrowKey: true
on your ~/.Xdefaults file, or one of the systemwise equivalents (/etc/X11/Xresources). It will change the xterm behaviour to the way it was before.
KDE terminal (konsole) will use these xterm settings without any problems, but for gnome-terminal you might need a little something extra:
*gnome-terminal*backarrowKey: true
And now I can name the culprid for the problem, and it is the xterm package.
The file: /usr/X11R6/lib/X11/app-defaults/XTerm
on 4.4 has some VT100 extra lines, including these one:
! keyboard setup *VT100*backarrowKey: false
If you remove/comment the second one, and then reload the resources:
xrdb -remove xrdb -load /etc/X11/Xresource
Your (xterm|konsole|gnome-terminal) will start working again as before.
Beats me why this didn't show up before, but then again, maybe it did and I missed it.
If you only want to fix it for your user, and have no risk of it getting screwed up on the next update, do this:
echo "*VT100*backarrowKey: true" >> ~/.Xdefaults xrdb -merge ~/.Xdefaults
Close your terminal windows (xterm, konsole, gnome-terminal), and open it again. The new one will have ^H as the BS character.
NOTICE: This e-mail is bouncing all around cause I was writing it as I tested. I decided to leave it as such, since most people around don't understand about X Resources, and this could provide some interesting pointers for learning.
[]s
- -- Rodrigo Barbosa "Quid quid Latine dictum sit, altum viditur" "Be excellent to each other ..." - Bill & Ted (Wyld Stallyns)