Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 May 95 12:09:41 MDT
From:      terry@cs.weber.edu (Terry Lambert)
To:        bde@zeta.org.au (Bruce Evans)
Cc:        hsu@clinet.fi, current@FreeBSD.org
Subject:   Re: bin/407: Odd tset -I behaviour, termcap says xterm kb=^H
Message-ID:  <9505151809.AA10141@cs.weber.edu>
In-Reply-To: <199505141409.AAA28510@godzilla.zeta.org.au> from "Bruce Evans" at May 15, 95 00:09:02 am

next in thread | previous in thread | raw e-mail | index | archive | help
> >The termcap entry for xterm is false, it says that erase key sends ^H,
> >while most systems send ^?.
> 
> It has to be right for the configuration actually being used.  This
> probably requires putting the full termcap entry in the environment.
> I don't know what X does.

All systems send XK_BackSpace if the key is labeled "Backspace" and
XK_Delete if it's labelled "Delete" and XK_KP_Delete if it's labelled
"Delete" and lives on a keypad instead of elsewhere.

Most X terminals interpret this as a request to send an ASCII Backspace
character (^H, 0x08) to the slave side of the PTY they are using.

You can change this interpretation by modifying your .Xdefaults, like
follows:

xterm*TtyModes:		erase ^?

Of course, this isn't recommended, since in principle, the key should
send the ASCII kvalue that its keycap label implies it sends.


Xterm gets it's tty settings from the default device that the X server
is run on, which is inherited by the xterms as /dev/tty before they go
slave-side.

I would say that your console is configured incorrectly by default
to send and ASCII 0x7f (delete, ^?) instead of an ASCII backspace for
your key labelled "Backspace", and that the default tty modes for
your console have also been hacked so that it expects this character
as the erase character, either because you are really supposed to be
using the "Delete" key, or because rather than fixing the console
modes, someone "fixed" the keycode returned by the "Backspace" labelled
key to the console input queue.

The Telnet and Rlogin arguments don't hold water here because the
erase character is a negotiated option.

The remote Xterm argument doesn't hold water here because the value
would be an interned atom and thus be server specific if you were
using xrdb like you are supposed to when running X.

Your console tty modes are manages in /etc/gettydefs or /etc/gettytab,
depending on if you are running mgetty or the normal (default) getty.


					Terry Lambert
					terry@cs.weber.edu
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9505151809.AA10141>