KEYTABLES(5) Standards, Environments, and Macros KEYTABLES(5)
NAME
keytables - keyboard table descriptions for loadkeys and dumpkeys
DESCRIPTION
These files are used by
loadkeys(1) to modify the translation tables used
by the keyboard streams module and generated from those translation
tables. See
loadkeys(1).
Any line in the file beginning with
# is a comment, and is ignored.
# is
treated specially only at the beginning of a line.
Other lines specify the values to load into the tables for a particular
keystation. The format is either:
key number list_of_entries or
swap number1 with number2 or
key number1 same as number2 or a blank line, which is ignored.
key number list_of_entries sets the entries for keystation
number from the list given. An entry in
that list is of the form
tablename code where
tablename is the name of a particular translation table, or
all.
The translation tables are:
base entry when no shifts are active
shift entry when "Shift" key is down
caps entry when "Caps Lock" is in effect
ctrl entry when "Control" is down
altg entry when "Alt Graph" is down
numl entry when "Num Lock" is in effect
up entry when a key goes up
All tables other than
up refer to the action generated when a key goes
down. Entries in the
up table are used only for shift keys, since the
shift in question goes away when the key goes up, except for keys such as
"Caps Lock" or "Num Lock"; the keyboard streams module makes the key look
as if it were a latching key.
A table name of
all indicates that the entry for all tables should be set
to the specified value, with the following exception: for entries with a
value other than
hole, the entry for the
numl table should be set to
nonl, and the entry for the
up table should be set to
nop.
The
code specifies the effect of the key in question when the specified
shift key is down. A
code consists of either:
o A character, which indicates that the key should generate the
given character. The character can either be a single
character, a single character preceded by
^ which refers to a
"control character" (for instance,
^c is control-C), or a C-
style character constant enclosed in single quote characters
(
'), which can be expressed with C-style escape sequences such
as \r for
RETURN or \000 for the null character. Note that
the single character may be any character in an 8-bit
character set, such as ISO 8859/1.
o A string, consisting of a list of characters enclosed in
double quote characters (
"). Note that the use of the double
quote character means that a
code of double quote must be
enclosed in single quotes.
o One of the following expressions:
shiftkeys+leftshift the key is to be the left-hand "Shift" key
shiftkeys+rightshift the key is to be the right-hand "Shift" key
shiftkeys+leftctrl the key is to be the left-hand "Control" key
shiftkeys+rightctrl the key is to be the right-hand "Control" key
shiftkeys+alt the key is to be the "Alt" shift key
shiftkeys+altgraph the key is to be the "Alt Graph" shift key
shiftkeys+capslock the key is to be the "Caps Lock" key
shiftkeys+shiftlock the key is to be the "Shift Lock" key
shiftkeys+numlock the key is to be the "Num Lock" key
buckybits+systembit the key is to be the "Stop" key in SunView; this is
normally the L1 key, or the SETUP key on the VT100
keyboard
buckybits+metabit the key is to be the "meta" key. That is, the "Left" or
"Right" key on a Sun-2 or Sun-3 keyboard or the "diamond"
key on a Sun-4 keyboard
compose the key is to be the "Compose" key
ctrlq on the "VT100" keyboard, the key is to transmit the
control-Q character (this would be the entry for the "Q"
key in the
ctrl table)
ctrls on the "VT100" keyboard, the key is to transmit the
control-S character (this would be the entry for the "S"
key in the
ctrl table)
noscroll on the "VT100" keyboard, the key is to be the "No Scroll"
key
string+uparrow the key is to be the "up arrow" key
string+downarrow the key is to be the "down arrow" key
string+leftarrow the key is to be the "left arrow" key
string+rightarrow the key is to be the "right arrow" key
string+homearrow the key is to be the "home" key
fa_acute the key is to be the acute accent "floating accent" key
fa_cedilla the key is to be the cedilla "floating accent" key
fa_cflex the key is to be the circumflex "floating accent" key
fa_grave the key is to be the grave accent "floating accent" key
fa_tilde the key is to be the tilde "floating accent" key
fa_umlaut the key is to be the umlaut "floating accent" key
nonl this is used only in the Num Lock table; the key is not to
be affected by the state of Num Lock
pad0 the key is to be the "0" key on the numeric keypad
pad1 the key is to be the "1" key on the numeric keypad
pad2 the key is to be the "2" key on the numeric keypad
pad3 the key is to be the "3" key on the numeric keypad
pad4 the key is to be the "4" key on the numeric keypad
pad5 the key is to be the "5" key on the numeric keypad
pad6 the key is to be the "6" key on the numeric keypad
pad7 the key is to be the "7" key on the numeric keypad
pad8 the key is to be the "8" key on the numeric keypad
pad9 the key is to be the "9" key on the numeric keypad
paddot the key is to be the "." key on the numeric keypad
padenter the key is to be the "Enter" key on the numeric keypad
padplus the key is to be the "+" key on the numeric keypad
padminus the key is to be the "-" key on the numeric keypad
padstar the key is to be the "*" key on the numeric keypad
padslash the key is to be the "/" key on the numeric keypad
padequal the key is to be the "=" key on the numeric keypad
padsep the key is to be the "," (separator) key on the numeric
keypad
lf(n)
the key is to be the left-hand function key
n rf(n)
the key is to be the right-hand function key
n tf(n)
the key is to be the top function key
n bf(n)
the key is to be the "bottom" function key
n nop the key is to do nothing
error this code indicates an internal error; to be used only for
keystation 126, and must be used there
idle this code indicates that the keyboard is idle (that is,
has no keys down); to be used only for all entries other
than the
numl and
up table entries for keystation 127, and
must be used there
oops this key exists, but its action is not defined; it has the
same effect as
nop reset this code indicates that the keyboard has just been reset;
to be used only for the
up table entry for keystation 127,
and must be used there.
swap number1 with
number2 exchanges the entries for keystations
number1 and
number2.
key number1 same as
number2 sets the entries for keystation
number1 to be the same as
those for keystation
number2. If the file does not specify
entries for keystation
number2, the entries currently in
the translation table are used; if the file does specify
entries for keystation
number2, those entries are used.
EXAMPLES
Example 1: Example of setting multiple keystations.
The following entry sets keystation 15 to be a "hole" (that is, an entry
indicating that there is no keystation 15); sets keystation 30 to do
nothing when Alt Graph is down, generate "!" when Shift is down, and
generate "1" under all other circumstances; and sets keystation 76 to be
the left-hand Control key.
key 15 all hole
key 30 base 1 shift ! caps 1 ctrl 1 altg nop
key 76 all shiftkeys+leftctrl up shiftkeys+leftctrl
Example 2: Exchange DELETE and BACKSPACE keys
The following entry exchanges the Delete and Back Space keys on the Type
4 keyboard:
swap 43 with 66
Keystation 43 is normally the Back Space key, and keystation 66 is
normally the Delete key.
Example 3: Disable CAPS LOCK key
The following entry disables the Caps Lock key on the Type 3 and U.S.
Type 4 keyboards:
key 119 all nop
Example 4: Standard translation tables for the U.S. Type 4 keyboard
The following specifies the standard translation tables for the U.S. Type
4 keyboard:
key 0 all hole
key 1 all buckybits+systembit up buckybits+systembit
key 2 all hole
key 3 all
lf(2) key 4 all hole
key 5 all
tf(1) key 6 all
tf(2) key 7 all
tf(10) key 8 all
tf(3) key 9 all
tf(11) key 10 all
tf(4) key 11 all
tf(12) key 12 all
tf(5) key 13 all shiftkeys+altgraph up shiftkeys+altgraph
key 14 all
tf(6) key 15 all hole
key 16 all
tf(7) key 17 all
tf(8) key 18 all
tf(9) key 19 all shiftkeys+alt up shiftkeys+alt
key 20 all hole
key 21 all
rf(1) key 22 all
rf(2) key 23 all
rf(3) key 24 all hole
key 25 all
lf(3) key 26 all
lf(4) key 27 all hole
key 28 all hole
key 29 all ^[
key 30 base 1 shift ! caps 1 ctrl 1 altg nop
key 31 base 2 shift @ caps 2 ctrl ^@ altg nop
key 32 base 3 shift # caps 3 ctrl 3 altg nop
key 33 base 4 shift $ caps 4 ctrl 4 altg nop
key 34 base 5 shift % caps 5 ctrl 5 altg nop
key 35 base 6 shift ^ caps 6 ctrl ^^ altg nop
key 36 base 7 shift & caps 7 ctrl 7 altg nop
key 37 base 8 shift * caps 8 ctrl 8 altg nop
key 38 base 9 shift ( caps 9 ctrl 9 altg nop
key 39 base 0 shift ) caps 0 ctrl 0 altg nop
key 40 base - shift _ caps - ctrl ^_ altg nop
key 41 base = shift + caps = ctrl = altg nop
key 42 base ` shift ~ caps ` ctrl ^^ altg nop
key 43 all '\b'
key 44 all hole
key 45 all
rf(4) numl padequal
key 46 all
rf(5) numl padslash
key 47 all
rf(6) numl padstar
key 48 all
bf(13) key 49 all
lf(5) key 50 all
bf(10) numl padequal
key 51 all
lf(6) key 52 all hole
key 53 all '\t'
key 54 base q shift Q caps Q ctrl ^Q altg nop
key 55 base w shift W caps W ctrl ^W altg nop
key 56 base e shift E caps E ctrl ^E altg nop
key 57 base r shift R caps R ctrl ^R altg nop
key 58 base t shift T caps T ctrl ^T altg nop
key 59 base y shift Y caps Y ctrl ^Y altg nop
key 60 base u shift U caps U ctrl ^U altg nop
key 61 base i shift I caps I ctrl '\t' altg nop
key 62 base o shift O caps O ctrl ^O altg nop
key 63 base p shift P caps P ctrl ^P altg nop
key 64 base [ shift { caps [ ctrl ^[ altg nop
key 65 base ] shift } caps ] ctrl ^] altg nop
key 66 all '\177'
key 67 all compose
key 68 all
rf(7) numl pad7
key 69 all
rf(8) numl pad8
key 70 all
rf(9) numl pad9
key 71 all
bf(15) numl padminus
key 72 all
lf(7) key 73 all
lf(8) key 74 all hole
key 75 all hole
key 76 all shiftkeys+leftctrl up shiftkeys+leftctrl
key 77 base a shift A caps A ctrl ^A altg nop
key 78 base s shift S caps S ctrl ^S altg nop
key 79 base d shift D caps D ctrl ^D altg nop
key 80 base f shift F caps F ctrl ^F altg nop
key 81 base g shift G caps G ctrl ^G altg nop
key 82 base h shift H caps H ctrl '\b' altg nop
key 83 base j shift J caps J ctrl '\n' altg nop
key 84 base k shift K caps K ctrl '\v' altg nop
key 85 base l shift L caps L ctrl ^L altg nop
key 86 base ; shift : caps ; ctrl ; altg nop
key 87 base '\'' shift '"' caps '\'' ctrl '\'' altg nop
key 88 base '\\' shift | caps '\\' ctrl ^\ altg nop
key 89 all '\r'
key 90 all
bf(11) numl padenter
key 91 all
rf(10) numl pad4
key 92 all
rf(11) numl pad5
key 93 all
rf(12) numl pad6
key 94 all
bf(8) numl pad0
key 95 all
lf(9) key 96 all hole
key 97 all
lf(10) key 98 all shiftkeys+numlock
key 99 all shiftkeys+leftshift up shiftkeys+leftshift
key 100 base z shift Z caps Z ctrl ^Z altg nop
key 101 base x shift X caps X ctrl ^X altg nop
key 102 base c shift C caps C ctrl ^C altg nop
key 103 base v shift V caps V ctrl ^V altg nop
key 104 base b shift B caps B ctrl ^B altg nop
key 105 base n shift N caps N ctrl ^N altg nop
key 106 base m shift M caps M ctrl '\r' altg nop
key 107 base , shift < caps , ctrl , altg nop
key 108 base . shift > caps . ctrl . altg nop
key 109 base / shift ? caps / ctrl ^_ altg nop
key 110 all shiftkeys+rightshift up shiftkeys+rightshift
key 111 all '\n'
key 112 all
rf(13) numl pad1
key 113 all
rf(14) numl pad2
key 114 all
rf(15) numl pad3
key 115 all hole
key 116 all hole
key 117 all hole
key 118 all
lf(16) key 119 all shiftkeys+capslock
key 120 all buckybits+metabit up buckybits+metabit
key 121 base ' ' shift ' ' caps ' ' ctrl ^@ altg ' '
key 122 all buckybits+metabit up buckybits+metabit
key 123 all hole
key 124 all hole
key 125 all
bf(14) numl padplus
key 126 all error numl error up hole
key 127 all idle numl idle up reset
SEE ALSO
loadkeys(1) February 18, 2003
KEYTABLES(5)