One thing I like about Eterm is that the users of Eterm, and the author, are serious terminal geeks. I’ve often wondered how, exacty, the backspace works (or doesn’t work). As I flit around different systems and programs, the behaviour is often different. Anyway, I ran across a nice tidbit here that explains what is happening and how to solve it. Buried in the FAQ is a little gem. Programs that use curses rely on the termcap/terminfo databases, so the trick is to use the stty command to bind the terminal entry for erase to ^H, using the command stty erase ^H. I put this command in /etc/profile. I also put in my Eterm config file:
begin actions bind 0xff08 to echo '^H' end |
For a good test, enter man, enter /something, and push the backspace key. If you get ^H, rather than erasing the previous letter, then maybe the stty command will help. I imagine that the stty fix will work for a variety of terminal programs. I’ve seen this problem many times in the past, but have never took the time to dig in before.
To verify the terminal settings, use stty:
u-1@srv-1 u-1 $ stty -a speed 38400 baud; rows 24; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = ; eol2 = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke u-1@srv-1 u-1 $ |