KEYBOARD(7)

πŸ“¦ version 0_git20260208, in alpine 3.24, arch rolling, nixos 26.05, nixpkgs unstable

πŸŽ€ NAME πŸŽ€

keyboard(7) from the Miscellaneous Information Manual β€” literally the page about how to type characters. The name section is just keyboard β€” how to type characters. Short, sweet, already slaying. πŸ’…

✨ 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.

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 Option key on the Mac and the Alt key on Unix systems. To type a single rune with the value specified by a given four-digit hexadecimal number, type the compose key, then a capital and then the four hexadecimal digits. And then the page hits us with this exact parenthetical, which I am preserving character-for-character because I refuse to invent details:

(decimal digits and to For a longer rune, type twice followed by five digits, or type 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 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 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 μ.

πŸͺŸ 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 typically denotes the Windows key on recent keyboards.)

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 β€” and yeah, the page literally cuts off right there; no letter is specified in this copy, so I'm not gonna make one up πŸ’€.

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)


That's the whole keyboard(7) page, bestie β€” source/manual: Miscellaneous Information Manual; footer in this copy is literally just KEYBOARD(7); version/date: not printed here. Byeee πŸ«ΆπŸ’…βœ¨