keyboard – how to type characters|
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 generates 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
particular, control-J is a line feed and control-M a carriage
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 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. To type a single rune with the value specified by a given
four-digit hexadecimal number, type the compose key, then a capital
X, and then the four hexadecimal digits (decimal digits and a
to f). For a longer rune, type X twice followed by five digits,
or type X three times followed by six digits. 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 /usr/local/plan9/lib/keyboard in a format suitable for
grep(1) or look(1). To add a sequence, edit that file and then
There are several rules guiding the design of the sequences, as
illustrated by the following examples.|
Note the difference between ß (ss) and µ (micron) and the Greek
β and μ.
A repeated symbol gives a variant of that symbol, e.g., ?? yields
ASCII digraphs for mathematical operators give the corresponding
operator, e.g., <= yields ≤.
Two letters give the corresponding ligature, e.g., AE yields Æ.
Mathematical and other symbols are given by abbreviations 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 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 character as a
superscript, e.g., s1 yields ⁱ. These characters 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 symbol, e.g.,
l$ yields £.
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:
Under X Windows, both the Alt key and the “Multi key” can begin
a compose sequence in a Plan 9 program.
Second, configure a “Multi key” by running
mklatinkbd −x $PLAN9/lib/keyboard >$HOME/.XCompose|
(The name Super_L typically denotes the Windows key on recent
Third, set these environment variables so that GTK- and QT-based
programs will use the compose sequences:
xmodmap −e 'keysym Super_L = Multi_key'|
Finally, start a new GTK- or QT-based program:
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