(debian-policy.info)Keyboard configuration


Next: Environment variables Prev: Multimedia handlers Up: The Operating System
Enter node , (file) or (file)node

9.8 Keyboard configuration
==========================

To achieve a consistent keyboard configuration so that all applications
interpret a keyboard event the same way, all programs in the Debian
distribution must be configured to comply with the following guidelines.

The following keys must have the specified interpretations:

‘<--’

     delete the character to the left of the cursor

‘Delete’

     delete the character to the right of the cursor

‘Control+H’

     emacs: the help prefix

The interpretation of any keyboard events should be independent of the
terminal that is 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 X 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 ~’.

   - X applications are configured so that ‘<’ deletes left, and
     ‘Delete’ deletes right.  Motif applications already work like this.

   - Terminals should have ‘stty erase ^?’ .

   - The ‘xterm’ terminfo entry should have ‘ESC [ 3 ~’ for ‘kdch1’,
     just as for ‘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 the following cases:

   - 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 using the same X
     resources that we use to do it for our own clients, or configure
     our clients using 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’ database 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.


automatically generated by info2www version 1.2.2.9