keytables(4)




NAME

     keytables - keyboard table  descriptions  for  loadkeys  and
     dumpkeys


DESCRIPTION

     These files are used by loadkeys(1) to modify  the  transla-
     tion  tables  used  by  the keyboard streams module and gen-
     erated 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  gen-
           erate  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 key-
                 board 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 transla-
                 tion 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)


Man(1) output converted with man2html