The standard device-independent string specifications have the following syntax: CIEXYZ:X/Y/Z
(none, 1, none)
CIEuvY:u/v/Y ( .6,
.6, 1)
CIExyY:x/y/Y ( .75,
.85, 1)
CIELab:L/a/b (100, none, none)
CIELuv:L/u/v (100, none, none)
TekHVC:H/V/C (360, 100, 100)
All of the values (C, H, V, X, Y, Z, a, b, u, v, y, x) are floating-point values. Some of the values are
constrained to be between zero and some upper bound; the upper bounds are given in parentheses above.
The syntax for these values is an optional "+" or "-" sign, a string of digits possibly containing a decimal
point, and an optional exponent field consisting of an "E" or "e" followed by an optional "+" or "-"sign,
followed by a string of digits.
For more information on device independent color, see the Xlib reference manual.
Keyboards
The X keyboard model is broken into two layers: server-specific codes (called keycodes) which
represent the physical keys, and server-independent symbols (called keysyms) which represent the
letters or words that appear on the keys. Two tables are kept in the server for converting keycodes to
keysyms:
Modifier List
Some keys (such as Shift, Control, and Caps Lock) are known as modifiers and are used to select
different symbols that are attached to a single key (such as Shift-a, which generates a capital "A", and
Control-l, which generates a control character "^L"). The server keeps a list of keycodes corresponding
to the various modifier keys. Whenever a key is pressed or released, the server generates an event that
contains the keycode of the indicated key as well as a mask that specifies which of the modifier keys are
currently pressed. Most servers set up this list to initially contain the various shift, control, and shift-lock
keys on the keyboard.
Keymap Table
Applications translate event keycodes and modifier masks into keysyms using a keysym table which
contains one row for each keycode and one column for various modifier states. This table is initialized
by the server to correspond to normal typewriter conventions. The exact semantics of how the table is
interpreted to produce keysyms depends on the particular program, libraries, and language input method
used, but the following conventions for the first four keysyms in each row are generally adhered to. The
first four elements of the list are split into two groups of keysyms. Group 1 contains the first and second
keysyms; Group 2 contains the third and fourth keysyms. Within each group, if the first element is
alphabetic and the the second element is the special keysym NoSymbol, then the group is treated as
equivalent to a group in which the first element is the lowercase letter and the second element is the
uppercase letter.
Page 135
Graphics Administration Guide for HP-UX 10.20