kbmap(2) CLIX kbmap(2)
NAME
kbmap - Changes the keyboard layout
LIBRARY
Intergraph XIO Library (libix.a)
SYNOPSIS
int kbmap(
short mapdata[48][8] );
PARAMETERS
mapdata Specifies an array of values.
DESCRIPTION
The kbmap() function changes the definitions of certain keys on the
keyboard. Only the letter, number, and punctuation keys on the main
section of the keyboard are affected. The keypad and function keys are
not changed.
Four qualifiers may be used with each key to change the character that is
generated. The following eight combinations are valid:
⊕ unshifted keys
⊕ unshifted control keys
⊕ unshifted alternate keys
⊕ unshifted caps lock keys
⊕ shifted keys
⊕ shifted control keys
⊕ shifted alternate keys
⊕ shifted caps lock keys
The mapdata parameter is an array of values specifying the value each key,
both by itself and with qualifiers, will generate. The different values
for each key must be specified in the order listed above. The keys must
be listed in the following order, which is based on each key's physical
location on the keyboard (identified using North American keycaps):
Key Numbers
Keys
2/94 - Intergraph Corporation 1
kbmap(2) CLIX kbmap(2)
0 - 12 ` ... =
13 - 24
Q ... ]
25 - 36
A ... \
37 - 47
< ... /
EXAMPLES
The mapdata array for the North American key map is as follows:
unsigned char mapdata[48][8] = {
{ '`', '`', 0xe0, '`', '~', '~', 0xe1, '~' },
{ '1', '1', 0xe2, '1', '!', '!', 0xe3, '!' },
{ '2', '2', 0xe4, 0x00, '@', '@', 0xe5, 0x00 },
{ '3', '3', 0xe6, '3', '#', '#', 0xe7, '#' },
...
{ 'i', 'I', 0xd4, 0x09, 'I', 'I', 0xd5, 0x09 },
{ 'o', 'O', 0xd6, 0x0f, 'O', 'O', 0xd7, 0x0f },
{ 'p', 'P', 0xd8, 0x10, 'P', 'P', 0xd8, 0x10 },
{ '[', '[', 0xda, 0x1b, '{', '{', 0xd9, 0x1b },
{ ']', ']', 0xdc, 0x1d, '}', '}', 0xdb, 0x1d },
{ 'a', 'A', 0x9d, 0x01, 'A', 'A', 0x9e, 0x01 },
...
{ 'm', 'M', 0x95, 0x0d, 'M', 'M', 0x96, 0x0d },
{ ',', ',', 0x97, ',', ',', ',', 0x98, ',' },
{ '.', '.', 0x99, '.', '.', '.', 0x9a, '.' },
{ '/', '/', 0x9b, '/', '?', '?', 0x9c, '?' } };
RETURN VALUES
Upon successful completion, a value of 0 is returned. Otherwise, a value
of -1 is returned and errno is set to indicate the error.
ERRORS
The kbmap function fails if the following is true:
[EFAULT] The mapdata parameter points to an area outside of the users
address space.
RELATED INFORMATION
Commands: kbmap(1)
Files: kbmap(4)
2 Intergraph Corporation - 2/94