Annotation of 43BSD/contrib/X/man/keycomp.1, revision 1.1

1.1     ! root        1: .TH KEYCOMP 1 "18 August 1985" "X Version 10"
        !             2: .SH NAME
        !             3: keycomp - X window system keyboard mapping file compiler
        !             4: .SH SYNOPSIS
        !             5: .B keycomp
        !             6: < input_file > output_file
        !             7: .SH DESCRIPTION
        !             8: Programs that use the X window system, such as \fIxterm(1)\fP, need some way
        !             9: to translate the user's key strokes into character strings.  Such
        !            10: programs look up this keyboard-to-character string mapping in a binary
        !            11: keymap file by calling the library routine \fIXLookupMapping\fP.  Initially,
        !            12: this routine looks for the file \fI.Xkeymap\fP in the user's home directory;
        !            13: if this file doesn't exist, uses a built in table.
        !            14: .PP
        !            15: The compiled file format produced by \fIkeycomp\fP should be portable across
        !            16: machine architectures.
        !            17: .PP
        !            18: The \fIkeycomp\fP program (an abbreviation for ``keymap compiler'') reads in a
        !            19: textual description of this mapping and produces a binary keymap file on
        !            20: its standard output.
        !            21: .PP
        !            22: Each key may have up to 16 different bindings, depending on what
        !            23: combinations of the Shift, Lock, Control, and Meta keys are depressed.
        !            24: For instance, in a conventional QWERTY keyboard mapping, pressing the ``A''
        !            25: key produces a capital ``A'' when the Shift or Lock key is down, an
        !            26: octal 001 when the Control key is down, and a small ``a'' when no
        !            27: other key is down.
        !            28: 
        !            29: The input file to \fIkeycomp\fP consists of one or more lines.  Each line
        !            30: begins with an octal or decimal number designating an X keyboard code.
        !            31: After the key code, the line should contain either 1 or 16 items, each
        !            32: representing the binding for a particular combination of the Control,
        !            33: Meta, Shift, and Lock keys.  The items should be separated by white
        !            34: space; the format of the items is described later.  The bindings should
        !            35: be in this order:
        !            36: 
        !            37: #1     ``unshifted'':  none of Shift, Lock, Control, or Meta keys down
        !            38: .br
        !            39: #2     Lock key down
        !            40: .br
        !            41: #3     Shift key down
        !            42: .br
        !            43: #4     Shift and Lock keys down
        !            44: .br
        !            45: #5     Meta key down
        !            46: .br
        !            47: #6     Meta and Lock keys down
        !            48: .br
        !            49: #7     Meta and Shift keys down
        !            50: .br
        !            51: #8     Meta, Shift, and Lock keys down
        !            52: .br
        !            53: #9     Control key down
        !            54: .br
        !            55: #10    Control and Lock keys down
        !            56: .br
        !            57: #11    Control and Shift keys down
        !            58: .br
        !            59: #12    Control, Shift, and Lock keys down
        !            60: .br
        !            61: #13    Control and Meta keys down
        !            62: .br
        !            63: #14    Control, Meta, and Lock keys down
        !            64: .br
        !            65: #15    Control, Meta, and Shift keys down
        !            66: .br
        !            67: #16    Control, Meta, Shift, and Lock keys down
        !            68: 
        !            69: If only one item is present on the line, then it represents the binding
        !            70: for this key regardless of the positions of the Control, Meta, Shift,
        !            71: and Lock keys.
        !            72: 
        !            73: Each item should be one of the following:
        !            74: 
        !            75:     An octal or decimal number, indicating a character code
        !            76: 
        !            77:     A C character literal, surrounded by single quotes.  Escape
        !            78: sequences (such as `\n' or `\252') are allowed, as described in the C
        !            79: Reference Manual.
        !            80: 
        !            81:     A C string literal, surrounded by double quotes.  Again, standard C
        !            82: escape sequences are allowed within the string.
        !            83: 
        !            84:     The letter U, indicating ``no binding''.  If there is no binding,
        !            85: then XLookupMapping will return an empty string for this key
        !            86: combination.
        !            87: 
        !            88: A comma may, but need not, follow each item.  Whether or not a comma
        !            89: is present, white space (spaces or tabs) must separate the items.  All
        !            90: text to the right of the 16th item is ignored; comments may appear here.
        !            91: 
        !            92: Completely blank lines are ignored, as are lines beginning with the '#'
        !            93: character.  Furthermore, all text between a `#' character and the
        !            94: following newline is ignored, provided that the `#' is not part of a
        !            95: string enclosed in single or double quotes.  This allows you to place
        !            96: comments at the end of a line that contains only a single item.
        !            97: 
        !            98: You can look at the file \fI<X/Xkeyboard.h>\fP for a list of key codes and
        !            99: key names of function keys.
        !           100: 
        !           101: .SH FILES
        !           102: $HOME/.Xkeymap, /usr/lib/Xkeymap.txt, <X/Xkeyboard.h>
        !           103: .SH SEE ALSO
        !           104: X(1), xterm(1)
        !           105: .SH DIAGNOSTICS
        !           106: ``Couldn't fseek output file''
        !           107: .br
        !           108: The standard output must be a file, not a pipe or a terminal.
        !           109: 
        !           110: ``Error writing beginning of output file''
        !           111: .br
        !           112: ``Error writing extension to output file''
        !           113: .br
        !           114: \fIkeycomp\fP couldn't write the output file.  Maybe the file system
        !           115: is out of space.
        !           116: 
        !           117: ``Parse error at item <number> on line <number>:
        !           118: .br
        !           119:        <message>''
        !           120: .br
        !           121: The source file has a syntax error.  Possible <message>s include:
        !           122: 
        !           123: ``Line doesn't begin with key''
        !           124: .br
        !           125: The first few characters in the line, which should be a key number,
        !           126: were not recognizable as an octal or decimal number.
        !           127: 
        !           128: ``Keycode is too big''
        !           129: .br
        !           130: The key at the beginning of the line was greater than 0377 (octal).
        !           131: 
        !           132: ``Line doesn't have 1 or 16 entries''
        !           133: .br
        !           134: After the key, more than one but less than 16 items were found.  Or 
        !           135: no items were found at all.
        !           136: 
        !           137: ``Number after backslash is too big for a character constant''
        !           138: .br
        !           139: In a character constant of the form `\nnn', the octal number was
        !           140: greater than 377 (octal).
        !           141: 
        !           142: ``Closing single quote not found''
        !           143: .br
        !           144: A single quote (') was encountered, but the end of the line was reached
        !           145: before finding the matching closing single quote.
        !           146: 
        !           147: ``String is too long''
        !           148: .br
        !           149: More than 80 characters are not allowed between double quotes.
        !           150: 
        !           151: ``Closing double quote not found''
        !           152: .br
        !           153: A double quote (") was encountered, but the end of the line was reached
        !           154: before finding the matching closing double quote.
        !           155: 
        !           156: ``Too many characters for single character constant''
        !           157: .br
        !           158: Too many characters appear between single quotes.  If you want to
        !           159: bind a key to a multiple-character sequence, use double quotes.
        !           160: 
        !           161: ``Not a U, number, single- or double-quoted string''
        !           162: .br
        !           163: \fIkeycomp\fP can't parse this item; it is neither the letter U, nor an
        !           164: octal or decimal number, nor a string enclosed in single or double
        !           165: quotes.
        !           166: .SH AUTHOR
        !           167: Ron Newman, MIT Project Athena
        !           168: .br
        !           169: Copyright 1985, 1986, Massachusetts Institute of Technology.
        !           170: .br
        !           171: See \fIX(1)\fP for a full copyright notice.

unix.superglobalmegacorp.com

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