Annotation of 43BSDTahoe/new/X/man/man1/keycomp.0, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: 
                      4: KEYCOMP(1)         UNIX Programmer's Manual           KEYCOMP(1)
                      5: 
                      6: 
                      7: 
                      8: NAME
                      9:      keycomp - X window system keyboard mapping file compiler
                     10: 
                     11: SYNOPSIS
                     12:      keycomp < input_file > output_file
                     13: 
                     14: DESCRIPTION
                     15:      Programs that use the X window system, such as _x_t_e_r_m(_1),
                     16:      need some way to translate the user's key strokes into char-
                     17:      acter strings.  Such programs look up this keyboard-to-
                     18:      character string mapping in a binary keymap file by calling
                     19:      the library routine _X_L_o_o_k_u_p_M_a_p_p_i_n_g.  Initially, this routine
                     20:      looks for the file ._X_k_e_y_m_a_p in the user's home directory; if
                     21:      this file doesn't exist, uses a built in table.
                     22: 
                     23:      The compiled file format produced by _k_e_y_c_o_m_p should be port-
                     24:      able across machine architectures.
                     25: 
                     26:      The _k_e_y_c_o_m_p program (an abbreviation for ``keymap com-
                     27:      piler'') reads in a textual description of this mapping and
                     28:      produces a binary keymap file on its standard output.
                     29: 
                     30:      Each key may have up to 16 different bindings, depending on
                     31:      what combinations of the Shift, Lock, Control, and Meta keys
                     32:      are depressed.  For instance, in a conventional QWERTY key-
                     33:      board mapping, pressing the ``A'' key produces a capital
                     34:      ``A'' when the Shift or Lock key is down, an octal 001 when
                     35:      the Control key is down, and a small ``a'' when no other key
                     36:      is down.
                     37: 
                     38:      The input file to _k_e_y_c_o_m_p consists of one or more lines.
                     39:      Each line begins with an octal or decimal number designating
                     40:      an X keyboard code.  After the key code, the line should
                     41:      contain either 1 or 16 items, each representing the binding
                     42:      for a particular combination of the Control, Meta, Shift,
                     43:      and Lock keys.  The items should be separated by white
                     44:      space; the format of the items is described later.  The
                     45:      bindings should be in this order:
                     46: 
                     47:      #1   ``unshifted'':  none of Shift, Lock, Control, or Meta
                     48:      keys down
                     49:      #2   Lock key down
                     50:      #3   Shift key down
                     51:      #4   Shift and Lock keys down
                     52:      #5   Meta key down
                     53:      #6   Meta and Lock keys down
                     54:      #7   Meta and Shift keys down
                     55:      #8   Meta, Shift, and Lock keys down
                     56:      #9   Control key down
                     57:      #10  Control and Lock keys down
                     58:      #11  Control and Shift keys down
                     59:      #12  Control, Shift, and Lock keys down
                     60: 
                     61: 
                     62: 
                     63: Printed 9/15/87          18 August 1985                         1
                     64: 
                     65: 
                     66: 
                     67: 
                     68: 
                     69: 
                     70: KEYCOMP(1)         UNIX Programmer's Manual           KEYCOMP(1)
                     71: 
                     72: 
                     73: 
                     74:      #13  Control and Meta keys down
                     75:      #14  Control, Meta, and Lock keys down
                     76:      #15  Control, Meta, and Shift keys down
                     77:      #16  Control, Meta, Shift, and Lock keys down
                     78: 
                     79:      If only one item is present on the line, then it represents
                     80:      the binding for this key regardless of the positions of the
                     81:      Control, Meta, Shift, and Lock keys.
                     82: 
                     83:      Each item should be one of the following:
                     84: 
                     85:         An octal or decimal number, indicating a character code
                     86: 
                     87:         A C character literal, surrounded by single quotes.
                     88:      Escape sequences (such as `0 or `252') are allowed, as
                     89:      described in the C Reference Manual.
                     90: 
                     91:         A C string literal, surrounded by double quotes.  Again,
                     92:      standard C escape sequences are allowed within the string.
                     93: 
                     94:         The letter U, indicating ``no binding''.  If there is no
                     95:      binding, then XLookupMapping will return an empty string for
                     96:      this key combination.
                     97: 
                     98:      A comma may, but need not, follow each item.  Whether or not
                     99:      a comma is present, white space (spaces or tabs) must
                    100:      separate the items.  All text to the right of the 16th item
                    101:      is ignored; comments may appear here.
                    102: 
                    103:      Completely blank lines are ignored, as are lines beginning
                    104:      with the '#' character.  Furthermore, all text between a `#'
                    105:      character and the following newline is ignored, provided
                    106:      that the `#' is not part of a string enclosed in single or
                    107:      double quotes.  This allows you to place comments at the end
                    108:      of a line that contains only a single item.
                    109: 
                    110:      You can look at the file <_X/_X_k_e_y_b_o_a_r_d._h> for a list of key
                    111:      codes and key names of function keys.
                    112: 
                    113: 
                    114: FILES
                    115:      $HOME/.Xkeymap, /usr/lib/Xkeymap.txt, <X/Xkeyboard.h>
                    116: 
                    117: SEE ALSO
                    118:      X(1), xterm(1)
                    119: 
                    120: DIAGNOSTICS
                    121:      ``Couldn't fseek output file''
                    122:      The standard output must be a file, not a pipe or a termi-
                    123:      nal.
                    124: 
                    125:      ``Error writing beginning of output file''
                    126: 
                    127: 
                    128: 
                    129: Printed 9/15/87          18 August 1985                         2
                    130: 
                    131: 
                    132: 
                    133: 
                    134: 
                    135: 
                    136: KEYCOMP(1)         UNIX Programmer's Manual           KEYCOMP(1)
                    137: 
                    138: 
                    139: 
                    140:      ``Error writing extension to output file''
                    141:      _k_e_y_c_o_m_p couldn't write the output file.  Maybe the file sys-
                    142:      tem is out of space.
                    143: 
                    144:      ``Parse error at item <number> on line <number>:
                    145:          <message>''
                    146:      The source file has a syntax error.  Possible <message>s
                    147:      include:
                    148: 
                    149:      ``Line doesn't begin with key''
                    150:      The first few characters in the line, which should be a key
                    151:      number, were not recognizable as an octal or decimal number.
                    152: 
                    153:      ``Keycode is too big''
                    154:      The key at the beginning of the line was greater than 0377
                    155:      (octal).
                    156: 
                    157:      ``Line doesn't have 1 or 16 entries''
                    158:      After the key, more than one but less than 16 items were
                    159:      found.  Or no items were found at all.
                    160: 
                    161:      ``Number after backslash is too big for a character con-
                    162:      stant''
                    163:      In a character constant of the form `0n', the octal number
                    164:      was greater than 377 (octal).
                    165: 
                    166:      ``Closing single quote not found''
                    167:      A single quote (') was encountered, but the end of the line
                    168:      was reached before finding the matching closing single
                    169:      quote.
                    170: 
                    171:      ``String is too long''
                    172:      More than 80 characters are not allowed between double
                    173:      quotes.
                    174: 
                    175:      ``Closing double quote not found''
                    176:      A double quote (") was encountered, but the end of the line
                    177:      was reached before finding the matching closing double
                    178:      quote.
                    179: 
                    180:      ``Too many characters for single character constant''
                    181:      Too many characters appear between single quotes. If you
                    182:      want to bind a key to a multiple-character sequence, use
                    183:      double quotes.
                    184: 
                    185:      ``Not a U, number, single- or double-quoted string''
                    186:      _k_e_y_c_o_m_p can't parse this item; it is neither the letter U,
                    187:      nor an octal or decimal number, nor a string enclosed in
                    188:      single or double quotes.
                    189: 
                    190: AUTHOR
                    191:      Ron Newman, MIT Project Athena
                    192: 
                    193: 
                    194: 
                    195: Printed 9/15/87          18 August 1985                         3
                    196: 
                    197: 
                    198: 
                    199: 
                    200: 
                    201: 
                    202: KEYCOMP(1)         UNIX Programmer's Manual           KEYCOMP(1)
                    203: 
                    204: 
                    205: 
                    206:      Copyright 1985, 1986, Massachusetts Institute of Technology.
                    207:      See _X(_1) for a full copyright notice.
                    208: 
                    209: 
                    210: 
                    211: 
                    212: 
                    213: 
                    214: 
                    215: 
                    216: 
                    217: 
                    218: 
                    219: 
                    220: 
                    221: 
                    222: 
                    223: 
                    224: 
                    225: 
                    226: 
                    227: 
                    228: 
                    229: 
                    230: 
                    231: 
                    232: 
                    233: 
                    234: 
                    235: 
                    236: 
                    237: 
                    238: 
                    239: 
                    240: 
                    241: 
                    242: 
                    243: 
                    244: 
                    245: 
                    246: 
                    247: 
                    248: 
                    249: 
                    250: 
                    251: 
                    252: 
                    253: 
                    254: 
                    255: 
                    256: 
                    257: 
                    258: 
                    259: 
                    260: 
                    261: Printed 9/15/87          18 August 1985                         4
                    262: 
                    263: 
                    264: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.