Annotation of 43BSDTahoe/new/X/man/man1/keycomp.0, revision 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.