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 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 return. On the PC and some other machines, the key labeled Caps Lock acts as an additional control key.

The delete character (0x7F) may be generated by a different key, one near the extreme upper right of the keyboard. On the Next it is the key labeled * (not the asterisk above the 8). On the SLC and Sparcstation 2, delete is labeled Num Lock (the key above Backspace labeled Delete functions as an additional backspace key). On the other keyboards, the key labeled Del or Delete generates the delete character.

The view character (0x80), used by rio(1), acme(1), and sam(1), causes windows to scroll forward. It is generally somewhere near the lower right of the main key area. The scroll character is generated by the VIEW key on the Gnot, the Alt Graph key on the SLC, and the arrow key ↓ on the other terminals. As a convenience for sloppy typists, some programs interpret → and ← keys, which lie on either side of ↓, as view keys as well. The arrow key ↑ scrolls backward.

Characters in Plan 9 are runes (see utf(6)). 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. After typing the compose key, type a capital X and exactly four hexadecimal characters (digits and a to f) to type a single two–byte rune with the value represented by the typed number. Type a lower case x and exactly UTFmax*2 hexadecimal characters to type a single UTFmax bytes rune. There are shorthands for many characters, comprising the compose key followed by a two– or three–character sequence. There are several rules guiding the design of the sequences, as illustrated by the following examples. 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).
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 £.

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

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

SEE ALSO
intro(1), ascii(1), tcs(1), acme(1), rio(1), sam(1), cons(3), utf(6)
Copyright © 2024 Alcatel-Lucent. All rights reserved.