|
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.
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 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 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 Super_L 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:
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
SEE ALSO
|
|