I propose a change to terminfo database related to BackSpace key generated
character change. For 'screen' terminal there has been still obsolete
'kbs=^H' definition in terminfo database leading to necessity of various
hacks to make screen work correctly. I've changed 'kbs=^H' into 'kbs=\177'
in 'screen' terminal entry of terminfo database source. Attached patch
makes screen hacks unneeded.
Created attachment 13287 [details]
Patch to terminfo database to reflect 'screen' terminal BS key change
This breaks things rather than fixing them.
Try adding your patch to ncurses, then running the kernel's make menuconfig in
a screen session, and using backspace when inputting a value. Works without
the patch, but not with it.
I've noticed previously that along with applying the proposed patch to ncurses
package the "Red Hat Hack" patch could (and should) be removed from screen
package. So in fact this is a complex enhancement change regarding two packages
(ncurses and screen). If necessary, I could open corresponding bug for screen
Someone please close this as NOTABUG.
The cause of this situation is a bug in the screen program. The bug is pretty
old and still not fixed ( as of screen 3.9.9 ). The bug is that for a certain
key screen fails to convert the physical code ( as received from the physical
terminal ) to the screen virtual terminal code ( as sent by the screen program
to an application running in a screen virtual terminal ). This key is the
backspace key. The screen man page and the screen terminfo/termcap ( both the
one from http://www.tuxedo.org/terminfo and the on distributed with screen )
say that the backspace code from the physical terminal is converted to the code
^H in the virtual terminal. The redhat hack is in fact a correct fix for this
Your patch would just migrate the problem from physical terminals that send ^?
for backspace to the ones that send ^H ( because screen would pass that code
through instead of converting, due to the discussed bug )