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>