Bug#605777: status of backspace key deletes forwards on the kFreeBSD console
The plain FreeBSD kernel generates different sequences
for Backspace and Delete keys compared to Linux (and required by Policy).
Generated sequences can be altered by kbdcontrol (from freebsd-utils
source package) and the default sequences are of course in kernel
(kfreebsd-8 source package).
I together with Aurelien prepared patches for changing them into same
sequences as on Linux, both uploaded.
Unfortunately, it have been shown, that it does not suffice.
The sequences are also stored at least in ncurses TERM definition:
Linux: kbs=\177 kdch1=\E[3~
FreeBSD/cons25s kbs=^H kdch1=\177
Therefore also at least ncurses and sysvinit packages have to be changed.
It is not possible to just alter cons25 entry as it would break conection
to other systems, the new TERM name is needed. It would not be available
on other systems.
Current reasonable options:
1) plain cons25 variant: current sysvinit, ncurses 5.7+20100313-4 or 5.7+20100313-5
and kfreebsd-8 8.1+dfsg-6 (or 8.1+dfsg-7.1), freebsd-utils 8.1-2
It does not conform to debian policy, the backspace/delete key is
somewhat small broken on console and somewhat small broken when
connection to other systems from console
2) cons25-debian variant: needs patched sysvinit, ncurses 5.7+20100313-5,
and kfreebsd-8 8.1+dfsg-7, freebsd-utils 8.1-3
It does conform to debian policy, the backspace/delete key works
on console, it is needed to set TERM when connection to other systems
from console and is somewhat big broken when connection is made to
other systems directly from console.
3) mixture of both above
current sysvinit, ncurses 5.7+20100313-5, kfreebsd-8 8.1+dfsg-6 (or 8.1+dfsg-7.1)
As a default use the plain cons25 variant. Additionaly provide
cons25-debian entry in ncurses and special debian keymap in
freebsd-utils. By default it will work as variant 1, but there is a
possibility to set TERM to cons25-debian and set keymap which would
generate the correct sequences for cons25-debian.
4) backport TEKEN_XTERM from FreeBSD 9.x
needs patched sysvinit, patched kfreebsd-8, patched freebsd-utils
My personal order of preferences in deep freeze is 3, 1, 4, 2.
All are better compared to current status.
Long term solution is 4.
I asked Robert to upload kfreebsd-8 8.1+dfsg-7.1 to implement option 1.
Unfortunately freebsd-utils 8.1-3 migrated into testing, despite
If they are going to revert the changes in freebsd-utils as well (which
is one of the proposed solutions), there is little point in unblocking
ncurses at all.
No, the unblocking of ncurses allows us to implement option 3.
The problem exists only on local text console, the delete/backspace keys
work correctly when logged on local X console or remotely.
The quickest solution is to disable 032_delete_key.diff in freebsd-utils
and unblock it and unblock kfreebsd-8 8.1+dfsg-7.1 aka option 1.
Eventually later on (if time permits before release or for point release),
prepare extended freebsd-utils and unblock it. It would require
ncurses 5.7+20100313-5. The ncurses can be safely migrated earlier.
I am sorry, but I didn't seen consequences of altering
generated sequences for delete/backspace keys earlier.