NAME

     keymap - keyboard maps


SYNOPSIS

     /etc/keymap


DESCRIPTION

     /etc/keymap is the compressed  mapping  from  keyboard  scan
     codes  to  ASCII.  It is made from a keymap source file con-
     sisting of MAP_COLS columns (MINIX assigns the  value  6  to
     MAX_COLS,   corresponding   to   key   pressed,   key+SHIFT,
     key+LEFT_ALT, key+RIGHT_ALT, key+ALT+SHIFT and key+CTRL) and
     NR_SCAN_CODES   rows   (MINIX  assigns  the  value  0x80  to
     NR_SCAN_CODES, corresponding to the number of scan codes  to
     be provided by the keyboard), and each element is 2 bytes in
     length (see u16_t in type definitions). The low  order  byte
     corresponds  to  the character represented by the scan code,
     and the high order byte corresponds to the  special  meaning
     (when  CAPS LOCK has effect, if it is a function key, etc.),
     which is converted to binary keymap format using the  genmap
     utility.

  Types (general): <sys/types.h>
     <sys/types.h> defines the u8_t and u16_t types,  correspond-
     ing to 8 and 16 bit values.

  Macros: <minix/keymap.h>
     C(c) - Control
          Maps to control code

     A(c) - Alt
          Sets the eight bit

     CA(c) - Control-Alt
          Short for A(C(c))

     L(c) - Caps Lock
          Adds Caps Lock effect

     These macros are used in a keymap source file to help define
     keys.   So instead of writing 032 to put a CTRL-Z in the map
     you write C('Z').  The L(c) macro is used  in  column  0  to
     tell  that  the Caps Lock key is active for this key.  (Caps
     Lock should only have effect on letters.)

  Definitions: <minix/keymap.h>
     <minix/keymap.h> contains a large number of definitions  for
     special  keys,  like  function keys, and keys on the numeric
     keypad.  They are:

     Escape key and modifiers:  EXT, CTRL, SHIFT, ALT.

     Numeric keypad keys:  HOME,  END,  UP,  DOWN,  LEFT,  RIGHT,
     PGUP, PGDN, MID (numeric '5'), PLUS, INSRT.

     ALT + numpad key:  AHOME, AEND, ..., AINSRT.

     CTRL + numpad:  CHOME, CEND, ..., CINSRT.

     Lock keys:  CALOCK (Caps  Lock),  NLOCK  (Num  Lock),  SLOCK
     (Scroll Lock).

     Function keys:  F1, ..., F12.

     ALT - function key:  AF1, ..., AF12.

     CTRL - function key:  CF1, ..., CF12.

     SHIFT - function key:  SF1, ..., SF12.

     ALT - SHIFT - function key:  ASF1, ..., ASF12.

     There is one key definition that isn't a key at  all:   EXT-
     KEY.   This  keycode is sent by the keyboard as an indicator
     that the next keycode is special.   For  instance  both  ALT
     keys have the same keycode, but the right ALT key is sent by
     the keyboard preceded by the EXTKEY keycode.   The  same  is
     true for the '/' key on the numeric pad versus the other '/'
     key on the US keyboard.  (On other keyboards  this  key  may
     have  a different symbol.)  The keyboard driver knows that a
     different key is presses if it is preceded by EXTKEY.

  Creating/changing keyboard mapping
     You can create your own keyboard mapping by copying  one  of
     the   existing   keymap   source   files   (Standard  Minix:
     kernel/keymaps/*.src, Minix-vmd:   kernel/ibm/keymaps/*.src)
     and modifying the desired keys. Once this has been done, you
     need to recompile the genmap.c file, either by adding a  new
     entry to the Makefile, or by running the following commands:

          cc -DKEYSRC=\"keymap.src\" genmap.c

     After this, the keymap file can be generated by running:

          a.out > keymap.map

     The keymap can be loaded in the keyboard driver by:

          loadkeys keymap.map

     It is wise to first run loadkeys  on  one  of  the  maps  in
     /usr/lib/keymaps  so  that  you  can easily revert back to a
     known keymap with a few taps on the up-arrow key and  press-
     ing  return.  You will otherwise have to fix the keymap with
     a faulty keymap loaded into the keyboard driver, which is no
     fun.

     When the keymap is to your satisfaction you can copy  it  to
     /etc/keymap to have it loaded automatically at reboot.


FILES

     /etc/keymap    Default keymap file


SEE ALSO

     loadkeys (1).


AUTHOR

     Victor A. Rodriguez - El bit Fantasma (Bit-Man@Tasa.Com.AR)