Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ kbmap(2) — CLIX 3.1r7.6.28

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

kbmap(1)

kbmap(4)



  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




Typewritten Software • bear@typewritten.org • Edmonds, WA 98026