[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#605777: status of backspace key deletes forwards on the kFreeBSD console



Hi.

Background:

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)
   patched freebsd-utils

   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
http://lists.debian.org/debian-bsd/2010/12/msg00128.html

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.

Petr



Reply to: