.TH KEYBOARD 6
.SH NAME
keyboard \- how to use the keyboard to type and aid the mouse
.SH DESCRIPTION
Keyboards are idiosyncratic.
It should be obvious how to type ordinary
.SM ASCII
characters,
backspace, tab, escape, and newline.
In Plan B, the key labeled
.B Return
or
.B Enter
generates a newline
.RB ( 0x0A );
if there is a key labeled
.B Line
.BR Feed ,
it generates a carriage return
.RB ( 0x0D );
Plan B eschews CRLFs.
The control key is the
.B Caps
.B Lock
key.
All control characters are typed in the usual way;
in particular, control-J is a line feed and control-M a carriage return.
.PP
The left
.BR Control ,
.BR Start ,
and
.B Alt
keys behave like the left, middle, and right mouse buttons (despite being
in the keyboard). The
.B Alt
.B Gr
key is used as expected, and the
.B Menu
key is used to compose runes not found in the keyboard.
.PP
The key labeled
.B Del
or
.B Delete
generates the delete character.
.RB ( 0x7F ).
.PP
It is generally somewhere near the lower right of the main key area.
.PP
The → and ← keys,
which lie on either side of ↓, perform undo and redo within
.IR omero (1).
The arrow key ↑ scrolls backward,
and ↓ scrolls forward.
The
.B Pg
.BR Up ,
.B Pg
.BR Down ,
.BR Start ,
and
.B End
keys are not understood by Plan B. In most cases,
function keys can be used within omero to redirect the mouse/keyboard
to predefined screens (depending on how omero is started). Also, within omero,
the
.B Del
key sends an
.B interrupt
event (not a system interrupt!) to the application in charge of the panel where
the key was typed.
.PP
Characters, like in Plan 9, are runes (see
.IR utf (6)).
Any 16-bit rune can be typed using a compose key followed by several
other keys.
The compose key is
.B Menu
key on the PC.
After typing the compose key, type a capital
.L X
and exactly four hexadecimal characters (digits and
.L a
to
.LR f )
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
.L /lib/keyboard
in a format suitable for
.IR grep (1)
or
.IR look (1).
.IP
A repeated symbol gives a variant of that symbol, e.g.,
.B ??
yields ¿\|.
.IP
.SM ASCII
digraphs for mathematical operators give the corresponding operator, e.g.,
.B <=
yields ≤.
.IP
Two letters give the corresponding ligature, e.g.,
.B AE
yields Æ.
.IP
Mathematical and other symbols are given by abbreviations for their names, e.g.,
.B pg
yields ¶.
.IP
Chess pieces are given by a
.B w
or
.B b
followed by a letter for the piece
.RB ( k
for king,
.B q
for queen,
.B r
for rook,
.B n
for knight,
.B b
for bishop, or
.B p
for pawn),
e.g.,
.B wk
for a white king.
.IP
Greek letters are given by an asterisk followed by a corresponding latin letter,
e.g.,
.B *d
yields δ.
.IP
Cyrillic letters are given by an at sign followed by a corresponding latin letter or letters,
e.g.,
.B @ya
yields я.
.IP
Script letters are given by a dollar sign followed by the corresponding regular letter,
e.g.,
.B $F
yields ℱ.
.IP
A digraph of a symbol followed by a letter gives the letter with an accent that looks like the symbol, e.g.,
.B ,c
yields ç.
.IP
Two digits give the fraction with that numerator and denominator, e.g.,
.B 12
yields ½.
.IP
The letter s followed by a character gives that character as a superscript, e.g.,
.B 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.
.IP
Sometimes a pair of characters give a symbol related to the superimposition of the characters, e.g.,
.B cO
yields ©.
.IP
A mnemonic letter followed by $ gives a currency symbol, e.g.,
.B l$
yields £.
.PP
Note the difference between ß (ss) and µ (micron) and
the Greek β and μ.
.SH FILES
.TF "/lib/keyboard "
.TP
.B /lib/keyboard
sorted table of characters and keyboard sequences
.SH "SEE ALSO"
.IR intro (1),
.IR ascii (1),
.IR tcs (1),
.IR acme (1),
.IR rio (1),
.IR omero (1),
.IR ox (1),
.IR sam (1),
.IR cons (3),
.IR utf (6)
|