XFree86kbd(1)

NAME
XFree86kbd - Description of keymapping capabilities of XFree86 servers

DESCRIPTION

The XFree86 servers, as well as the Xlib, support some special features for multinational keyboard support. These features make defining modifier keys much simpler (alleviating the need for using xmodmap(1) in many cases). They also make the generation of non-ASCII Latin-1 character much simpler.

This is accomplished by allowing several modifier keys to be redefined in the server's Xconfig file. The functions that can be assigned include:

Meta
    Makes a key function as a Meta key. The Meta modifier is interpreted in a client-dependent fashion (e.g., xterm uses it to generate characters characters with the high-order bit set).

Compose
    Causes a <Multi_key> keysym to be sent. In combination with the changes to the X library, Compose followed by two other keysyms causes non-ASCII Latin-1 keysyms to be sent to the client program.

Mode Shift
    Makes a key function as a Mode_switch key. This key behaves like a "shift" key that causes causes the X library to use the 3rd and 4th columns of the keymap (as opposed to the 1st and 2nd column). This is useful for multi-national keyboards.

Mode Lock
    Works like a shift-lock for the Mode Shift functionality described above.

DEFINING MODIFIER KEYS

The keys available to be redefined from the Xconfig file are the Left and Right Alt keys (the Alt Graphics key is synonymous with the Right Alt key), the Scroll Lock key, and the Right Control key. The functions that can be assigned are Meta, Compose, Mode Shift, Mode Lock, Scroll Lock, and Compose. The key definitions are put in the Xconfig file in the Keyboard Configuration section (see Xconfig(4/5)).

The default definitions for the server are as follows:

LeftAlt | Meta
RightAlt | Meta
ScrollLock | Compose
RightCtl | Control

This definition is useful for users of US keyboards, who have only occasional need for non-ASCII characters. The following definitions would likely be more useful in the international arena:

LeftAlt | Meta
RightAlt | ModeShift
RightCtl | Compose
ScrollLock | ModeLock

COMPOSE KEY CHARACTER GENERATION

The Compose key provides a simple way to generate non-ASCII Latin-1 keysyms without having to actually redefine the keymap via xmodmap(1). This is done by using multiple keystokes to generate the actual keysym. The Compose (actually, the keysym <Multi_key>) precedes the other keysyms, and a modified Xlib generates the correct final keysym. When you press the Compose key, the Scroll Lock LED on the PC keyboard will light, and it will go out when the full group of keystrokes is completed. You can abort a Compose sequence by pressing the Escape key at any time.

NOTE:
    You must do stty -istrip and possibly also stty -parity in an xterm window for the extended characters to show up. If you do not, the high-order bit from the generated character will be stripped off, and it will not be displayed properly.

The table at the end of the manual page shows each Compose group, and the final keysym generated. The keysyms in each group can be sent in any order (note that keysym names are given as expected by xmodmap(1)).

SEE ALSO
XFree86(1), Xconfig(4/5), xmodmap(1)
First | Second | Final | Second | Final
Keysym | Keysym | Keysym | Keysym | Keysym
space | space | nobreakspace
 | quotdbl | diaeresis
 | asterisk | degree
exclam | exclam | exclamdown
 | asciicircum | brokenbar
 | S | section | s | section
 | P | paragraph | p | paragraph
quotedbl | quotedbl | diaeresis
 | A | Adiaeresis | a | adiaeresis
 | E | Ediaeresis | e | ediaeresis
 | I | Idiaeresis | i | idiaeresis
 | O | Odiaeresis | o | odiaeresis
 | U | Udiaeresis | u | udiaeresis
 |  |  | y | ydiaeresis
apostrophe | apostrophe | acute
 | A | Aacute | a | aacute
 | E | Eacute | e | eacute
 | I | Iacute | i | iacute
 | O | Oacute | o | oacute
 | U | Uacute | u | uacute
 | Y | Yacute | y | yacute
parenleft | parenleft | bracketleft
 | minus | braceleft
parenright | parenright | bracketright
 | minus | braceright
asterisk | space | degree
 | A | Aring | a | aring
plus | plus | numbersign
 | minus | plusminus
comma | comma | cedilla
 | C | Ccedilla | c | ccedilla
First | Second | Final | Second | Final
Keysym | Keysym | Keysym | Keysym | Keysym
minus | parenleft | braceleft
 | parenright | braceright
 | minus | hyphen
 | L | sterling | l | sterling
 | Y | yen | y | yen
 | comma | notsign
 | asciicircum | macron
 | plus | plusminus
 | D | ETH | d | eth
 | colon | division
period | asciicircum | periodcentered
slash | slash | backslash | less | backslash
 | asciicircum | bar
 | C | cent | c | cent
 | U | mu | u | mu
 | O | Ooblique | o | ooblique
0 | X | currency | x | currency
 | S | section | s | section
 | C | copyright | c | copyright
 | R | registered | r | registered
 | asciicircum | degree
1 | asciicircum | onesuperior
 | 4 | onequarter
 | 2 | onehalf
2 | asciicircum | twosuperior
3 | asciicircum | threesuperior
 | 4 | threequarters
colon | minus | division
less | slash | backslash
 | less | guillemotleft
equal | L | sterling | l | sterling
 | Y | yen | y | yen
greater | greater | guillemotright
question | question | questiondown
First | Second | Final | Second | Final
Keysym | Keysym | Keysym | Keysym | Keysym
A | A | at | a | at
 | underscore | ordfeminine
 | grave | Agrave
 | apostrophe | Aacute
 | asciicircum | Acircumflex
 | asciitilde | Atilde
 | quotedbl | Adiaeresis
 | asterisk | Aring
 | E | AE
C | slash | cent | bar | cent
 | O | copyright | o | copyright
 | comma | Ccedilla
D | minus | ETH
E | grave | Egrave
 | apostrophe | Eacute
 | asciicircum | Ecircumflex
 | quotedbl | Ediaeresis
I | grave | Igrave
 | apostrophe | Iacute
 | asciicircum | Icirumflex
 | quotedbl | Idiaeresis
L | minus | pound | equal | pound
N | asciitilde | Ntilde
O | X | currency | x | currency
 | S | section | s | section
 | C | copyright | c | copyright
 | R | registered | r | registered
 | underscore | masculine
 | grave | Ograve
 | apostrophe | Oacute
 | asciicircum | Ocircumflex
 | asciitilde | Otilde
 | quotedbl | Odiaeresis
 | slash | Ooblique
P | exclam | paragraph
R | 0 | registered
 | O | registered | o | registered
First | Second | Final | Second | Final
Keysym | Keysym | Keysym | Keysym | Keysym
S | exclam | section | 0 | section
 | O | section | o | section
 | S | ssharp
T | H | THORN
U | grave | Ugrave
 | apostrophe | Uacute
 | asciicircum | Ucircumflex
 | quotedbl | Udiaeresis
X | 0 | currency
 | O | currency | o | currency
Y | minus | yen | equal | yen
 | apostrophe | Yacute
asciicircum | slash | bar
 | exclam | brokenbar
 | minus | macron
 | underscore | macron
 | 0 | degree
 | 1 | onesuperior
 | 2 | twosuperior
 | 3 | threesuperior
 | period | periodcentered
 | A | Acircumflex | a | acircumflex
 | E | Ecircumflex | e | ecircumflex
 | I | Icircumflex | i | icircumflex
 | O | Ocircumflex | o | ocircumflex
 | u | Ucircumflex | u | ucircumflex
underscore | A | ordfeminine | a | ordfeminine
 | asciicircum | macron
 | O | masculine | o | masculine
grave | A | Agrave | a | agrave
 | E | Egrave | e | egrave
 | I | Igrave | i | igrave
 | O | Ograve | o | ograve
 | U | Ugrave | u | ugrave
First | Second | Final | Second | Final
Keysym | Keysym | Keysym | Keysym | Keysym
a | A | at | a | at
 | underscore | ordfeminine
 | grave | agrave
 | apostrophe | aacute
 | asciicircum | acircumflex
 | asciitilde | atilde
 | quotedbl | adiaeresis
 | asterisk | aring
 | e | ae
c | slash | cent | bar | cent
 | 0 | copyright
 | O | copyright | o | copyright
 | comma | ccedilla
d | minus | eth
e | grave | egrave
 | apostrophe | eacute
 | asciicircum | ecircumflex
 | quotedbl | ediaeresis
i | grave | igrave
 | apostrophe | iacute
 | asciicircum | icircumflex
 | quotedbl | idiaeresis
l | minus | pound | equal | pound
n | asciitilde | ntilde
o | X | currency | x | currency
 | C | copyright | c | copyright
 | R | registered | r | registered
 | S | section | s | section
 | underscore | masculine
 | grave | ograve
 | apostrophe | oacute
 | asciicircum | ocircumflex
 | asciitilde | otilde
 | quotedbl | odieresis
 | slash | oslash
p | exclam | paragraph
r | 0 | registered
 | O | registered | o | registered
First | Second | Final | Second | Final
Keysym | Keysym | Keysym | Keysym | Keysym
s | exclam | section | 0 | section
 | O | section | o | section
 | s | ssharp
t | h | eth
u | grave | ugrave
 | apostrophe | uacute
 | asciicircum | ucircumflex
 | quotedbl | udiaeresis
x | 0 | currency
 | O | currency | o | currency
 | x | multiply
y | minus | yen | equal | yen
 | apostrophe | yacute
 | quotedbl | ydiaeresis
bar | C | cent | c | cent
 | bar | brokenbar
asciitilde | A | Atilde | a | atilde
 | N | Ntilde | n | ntilde
 | O | Otilde | o | otilde