KEYBOARD(7)                                           KEYBOARD(7)

     NAME
          keyboard - how to type characters

     DESCRIPTION
          Keyboards are idiosyncratic.  It should be obvious how to
          type ordinary ASCII characters, backspace, tab, escape, and
          newline.  In Plan 9, the key labeled Return or Enter gener-
          ates a newline (0x0A); if there is a key labeled Line Feed,
          it generates a carriage return (0x0D); Plan 9 eschews CRLFs.
          All control characters are typed in the usual way; in par-
          ticular, control-J is a line feed and control-M a carriage
          return.

          The down arrow, used by 9term(1), acme(1), and sam(1),
          causes windows to scroll forward.  The up arrow scrolls
          backward.

          Characters in Plan 9 are runes (see utf(7)). Any 16-bit rune
          can be typed using a compose key followed by several other
          keys.  The compose key is also generally near the lower
          right of the main key area: the NUM PAD key on the Gnot, the
          Alternate key on the Next, the Compose key on the SLC, the
          Option key on the Magnum, and either Alt key on the PC.
          After typing the compose key, type a capital `X' and exactly
          four hexadecimal characters (digits and `a' to `f') to type
          a single rune with the value represented by the typed num-
          ber.  There are shorthands for many characters, comprising
          the compose key followed by a two- or three-character
          sequence.  The full list is too long to repeat here, but is
          contained in the file `/lib/keyboard' in a format suitable
          for grep(1) or look(1). To add a sequence, edit that file
          and then rebuild devdraw(1).

          There are several rules guiding the design of the sequences,
          as illustrated by the following examples.

               A repeated symbol gives a variant of that symbol, e.g.,
               ?? yields ¿.

               ASCII digraphs for mathematical operators give the cor-
               responding operator, e.g., <= yields ≤.

               Two letters give the corresponding ligature, e.g., AE
               yields Æ.

               Mathematical and other symbols are given by abbrevia-
               tions for their names, e.g., pg yields ¶.

               Chess pieces are given by a w or b followed by a letter
               for the piece (k for king, q for queen, r for rook, n

     KEYBOARD(7)                                           KEYBOARD(7)

               for knight, b for bishop, or p for pawn), e.g., wk for
               a white king.

               Greek letters are given by an asterisk followed by a
               corresponding latin letter, e.g., *d yields δ.

               Cyrillic letters are given by an at sign followed by a
               corresponding latin letter or letters, e.g., @ya yields
               я.

               Script letters are given by a dollar sign followed by
               the corresponding regular letter, e.g., $F yields ℱ.

               A digraph of a symbol followed by a letter gives the
               letter with an accent that looks like the symbol, e.g.,
               ,c yields ç.

               Two digits give the fraction with that numerator and
               denominator, e.g., 12 yields ½.

               The letter s followed by a character gives that charac-
               ter as a superscript, e.g., s1 yields ⁱ.  These charac-
               ters are taken from the Unicode block 0x2070; the 1, 2,
               and 3 superscripts in the Latin-1 block are available
               by using a capital S instead of s.

               Sometimes a pair of characters give a symbol related to
               the superimposition of the characters, e.g., cO yields
               ©.

               A mnemonic letter followed by $ gives a currency sym-
               bol, e.g., l$ yields £.

          Note the difference between ß (ss) and µ (micron) and the
          Greek β and μ.

        X WINDOWS
          Under X Windows, both the Alt key and the ``Multi key'' can
          begin a compose sequence in a Plan 9 program.

          It is also possible to configure X Windows to use the same
          keystroke mappings as the Plan 9 programs.  First, generate
          an XCompose sequence list by using mklatinkbd:

               mklatinkbd -x $PLAN9/lib/keyboard >$HOME/.XCompose

          Second, configure a ``Multi key'' by running

               xmodmap -e 'keysym Super_L = Multi_key'

          (The name `Super_L' typically denotes the Windows key on
          recent keyboards.)

     KEYBOARD(7)                                           KEYBOARD(7)

          Third, set these environment variables so that GTK- and QT-
          based programs will use the compose sequences:

               export GTK_IM_MODULE=xim
               export QT_IM_MODULE=xim

          Finally, start a new GTK- or QT-based program:

               gnome-terminal &

          In that terminal, typing the key sequence `Windows * a'
          should be interpreted as the Greek letter `α'.

          If using the GNOME Window Manager, put the xmodmap and
          export commands into the file $HOME/.gnomerc to run them
          automatically at startup.

     FILES
          /lib/keyboard
               sorted table of characters and keyboard sequences

     SEE ALSO
          intro(1), ascii(1), tcs(1), 9term(1), acme(1), sam(1),
          utf(7)