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