Tugger the SLUGger!SLUG Mailing List Archives

Re: [SLUG] Wht the Old Junk in New *nix?

Matthew Dalton <matthewd@xxxxxxxxxxxxxxxxxxxxx> wrote:
> program, xterm, rxvt etc...). There are separate keyboard maps for the
> console and for X. In the console, 'backspace' might work, but then you
> use the pager 'less' and suddenly it doesn't work anymore (like when you

If this is Debian, it's a bug in one of the packages if backspace doesn't
work.  Please read /usr/share/doc/debian-policy/policy.text.gz, Section 3.8.
Actually, I'll post it here since people using other distros might be
interested as well:

3.8. Keyboard configuration

     To achieve a consistent keyboard configuration (i.e., all applications
     interpret a keyboard event the same way) all programs in the Debian
     distribution have to be configured to comply with the following

     Here is a list that contains certain keys and their interpretation:

          delete the character to the left of the cursor

          delete the character to the right of the cursor

          emacs: the help prefix

     The interpretation of any keyboard events should be independent of the
     terminal that's used, be it a virtual console, an X terminal emulator,
     an rlogin/telnet session, etc.

     The following list explains how the different programs should be set
     up to achieve this:

        * ``<--'' generates KB_Backspace in X.
        * ``Delete'' generates KB_Delete in X.
        * X translations are set up to make KB_Backspace generate ASCII
          DEL, and to make KB_Delete generate `ESC [ 3 ~' (this is the
          vt220 escape code for the `delete character' key).  This must be
          done by loading the resources using xrdb on all local X displays,
          not using the application defaults, so that the translation
          resources used correspond to the xmodmap settings.
        * The Linux console is configured to make ``<--'' generate DEL, and
          `Delete' generate `ESC [ 3 ~' (this is the case at the moment).
        * X applications are configured so that Backspace deletes left, and
          Delete deletes right.  Motif applications already work like this.
        * 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 on `^H' (assuming that the `stty erase' character
          takes precedence in Emacs, and has been set correctly).  M-x help
          or F1 (if available) can be used instead.
        * Some operating systems use `^H' for stty erase.  However, modern
          telnet versions and all rlogin versions propagate stty settings,
          and almost all UNIX versions honour stty erase.  Where the stty
          settings are not propagated correctly things can be made to work
          by using stty manually.
        * Some systems (including previous Debian versions) use xmodmap to
          arrange for both `<--' and Delete to generate KB_Delete.  We can
          change the behavior of their X clients via the same X resources
          that we use to do it for our own, or have our clients be
          configured via their resources when things are the other way
          around.  On displays configured like this Delete will not work,
          but `<--' will.
        * Some operating systems have different kdch1 settings in their
          terminfo for xterm and others.  On these systems the Delete key
          will not work correctly when you log in from a system conforming
          to our policy, but `<--' will.
Debian GNU/Linux 2.1 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt