| KEYBOARD(6) | Games Manual | KEYBOARD(6) |
keyboard - how to type characters
Keyboards are idiosyncratic. The differing conventions of host operating systems make them more so for Inferno. In all implementations, it should be obvious how to type ordinary ASCII characters, backspace, tab, escape, and newline. When typing into the Inferno environment, the key labelled Return or Enter generates a newline (0x0A); if there is a key labelled Line Feed, it generates a carriage return (0x0D); Inferno 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.
In native mode, on the PC and some other machines, the following extra conventions might also be used. The key labelled Caps Lock acts as an additional control key. The character erase key generates backspace. The key labelled Del or Delete generates the delete character (0x7F). The plethora of function keys generate values in the Unicode user-defined space, as defined by /include/keyboard.h and /module/keyboard.m. They are fitfully supported by applications, but Page Up and Page Down are often understood by Tk applications.
Characters in Inferno are runes (see utf (6)). Any rune can be typed using a compose key followed by several other keys. The compose key is implementation-dependent, and is also generally near the lower right of the main key area: either Alt key on the PC, and in X11 implementations, whatever X11 regards as Alt or Meta. After typing the compose key, type a capital and exactly four hexadecimal characters (digits and to to type a single rune with the value represented by the typed number. 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 in a format suitable for grep (1).
Note the difference between ß (ss) and µ (micron) and the Greek β and μ.
acme (1), wm-brutus (1), intro (1), unicode (1), cons (3), utf (6), kbdputc(10.2)