Comment 6 for bug 1117083

Revision history for this message
Lars (schallundrauch) wrote :

Sorry for the delay. I first wanted to track down this problem.

I found this Linux Backspace/Delete mini-HOWTO:
http://tldp.org/HOWTO/BackspaceDelete/index.html

On my system backspace in wyrd does not work in Konsole (my main terminal emulator), but in TTY and xterm. According to this comment in a corresponding Red Hat Bug (https://bugzilla.redhat.com/show_bug.cgi?id=142659#c4) Konsole is a deviant terminal emulator (as defined in http://tldp.org/HOWTO/BackspaceDelete/notwork.html) like gnome-terminal.

Here is an overview of my systems backspace and del key settings:

Backspace (kbs)

keycode: 22 (14)
keysym: 0xff08
ASCII sequence:
 - TTY: ^?
 - xterm: ^H
 - konsole: ^?
key capability (infocmp):
 - linux: ^?
 - xterm: ^H
 - gnome: ^?
stty -a (erase): ^?

Delete (kdch1)

keycode: 119 (111)
keysym: 0xffff
ASCII sequence:
 - TTY: ^[[3~
 - xterm: ^[[3~
 - konsole: ^[[3~
key capability (infocmp):
 - linux: \E[3~
 - xterm: \E[3~
 - gnome: \E[3~

As you can see the asccii sequences are the same for TTY and Konsole. So why is Konsole broken and not TTY? Because in TTY TERM is set to linux whereas in Konsole TERM is set to XTERM by default. According to the aforementioned bug report (https://bugzilla.redhat.com/show_bug.cgi?id=142659), Red Hat chose to follow the Debian policy (http://www.debian.org/doc/debian-policy/ch-opersys.html#s9.8). I.e. patching ncurses(terminfo)'s xterm alias so that kbs=\177 and patching xterm so that it sends \177 for backspace instead of ^H. I cannot see the rational behind this decision, rather it seems to me like the Red Hat devs were talking at crossed purposes. As I am a Gentoo Linux user I am free to follow my own policies and so I will set TERM to gnome in Konsole. This can be done via

Konsole Settings -> Edit Current Profile... -> Environment (Edit):
TERM=gnome

A few short tests showed that it fixes the backspace problem in wyrd without breaking backspace in other terminal apps (vim, mutt, mc, less). If I observe that this breaks something, I will report here.

I had no backspace-problems in Konsole with other terminal apps (vim, mutt, mc,...). I guess those apps do not use the terminal database. Wyrd seems to behave like ne (nice editor): "ne uses all terminal capabilities, including kbs and kdch1, and uses intended meaning only as a last resource." (http://tldp.org/HOWTO/BackspaceDelete/notwork.html)

Congratulations - wyrd works!