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

Backspace and delete



Some time ago I posted the message below to debian-devel.  It received
widespread support and no significant opposition.  I think it
should be made policy.

If it is made policy we can go and report bugs against all the
programs that fail to implement it, and then hopefully for 2.0 we'll
have backspace and delete working properly.

Ian.

------- start of forwarded message (RFC 934 encapsulation) -------
From: Ian Jackson <ian@chiark.greenend.org.uk>
To: Debian developers list <debian-devel@lists.debian.org>
Subject: Re: GOAL: Consistent Keyboard Configuration

What we want is:
 * `<--' always deletes the character to the left of the cursor.
 * `Delete' always deletes to the right.
 * `Control'+`H' produces help in Emacs, as before.
We want this to be true for the console, for X, and even if you use
rlogin or telnet to get from one system to another.

What we should do is the following:
 * `<--' generates KB_Backspace in X.
 * `Delete' generates KB_Delete in X.
 * X translations are set up to make KB_Backspace generate ASCII DEL.
 * X translations are set up to make KB_Delete generate ESC [ 3 ~
   (this is the vt220 escape code for the `delete character' key).
 * stty erase ^?
 * The `xterm' terminfo entry should have ESC [ 3 ~ for kdch1, just
   like TERM=linux and TERM=vt220.
 * Emacs is programmed to map KB_Backspace or the `stty erase'
   character to delete-backward-char, and KB_Delete or kdch1 to
   delete-forward-char, and ^H to help as always.
 * Other applications use the `stty erase' character and kdch1 for the
   two delete keys, with ASCII DEL being `delete previous character'
   and kdch1 being `delete character under cursor'.

This will solve the problem except for:
 * Some terminals have a `<--' key that cannot be made to produce
   anything except ^H.  On these terminals Emacs help will be
   unavailable (assuming that the `stty erase' character takes
   precedence in Emacs, and has been set correctly).
 * Some other operating systems do incompatible things.  We can change
   the behaviour of their X clients via the same X resources that we
   use to do it for our own; telnet and rlogin propagate some of this
   information too.

Ian.
------- end -------


Reply to: