KEYMAP.5
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:5k
源码类别:

操作系统开发

开发平台:

C/C++

  1. KEYMAP(5)                 Minix Programmer's Manual                  KEYMAP(5)
  2. NAME
  3.      keymap - keyboard maps
  4. SYNOPSIS
  5.      /etc/keymap
  6. DESCRIPTION
  7.      /etc/keymap is the compressed mapping from keyboard scan codes to  ASCII.
  8.      It  is  made  from  a  keymap  source file consisting of MAP_COLS columns
  9.      (MINIX assigns the value 6 to MAX_COLS,  corresponding  to  key  pressed,
  10.      key+SHIFT,  key+LEFT_ALT,  key+RIGHT_ALT, key+ALT+SHIFT and key+CTRL) and
  11.      NR_SCAN_CODES rows  (MINIX  assigns  the  value  0x80  to  NR_SCAN_CODES,
  12.      corresponding  to  the  number  of  scan  codes  to  be  provided  by the
  13.      keyboard), and each element is 2 bytes  in  length  (see  u16_t  in  type
  14.      definitions). The low order byte corresponds to the character represented
  15.      by the scan code, and the high order  byte  corresponds  to  the  special
  16.      meaning (when CAPS LOCK has effect, if it is a function key, etc.), which
  17.      is converted to binary keymap format using the genmap utility.
  18.   Types (general): <sys/types.h>
  19.      <sys/types.h> defines the u8_t and u16_t types, corresponding to 8 and 16
  20.      bit values.
  21.   Macros: <minix/keymap.h>
  22.      C(c) - Control
  23.           Maps to control code
  24.      A(c) - Alt
  25.           Sets the eight bit
  26.      CA(c) - Control-Alt
  27.           Short for A(C(c))
  28.      L(c) - Caps Lock
  29.           Adds Caps Lock effect
  30.      These macros are used in a keymap source file to help  define  keys.   So
  31.      instead  of writing 032 to put a CTRL-Z in the map you write C('Z').  The
  32.      L(c) macro is used in column 0 to tell that the Caps Lock key  is  active
  33.      for this key.  (Caps Lock should only have effect on letters.)
  34.   Definitions: <minix/keymap.h>
  35.      <minix/keymap.h> contains a large number of definitions for special keys,
  36.      like function keys, and keys on the numeric keypad.  They are:
  37.      Escape key and modifiers:  EXT, CTRL, SHIFT, ALT.
  38.                                                                              1
  39. KEYMAP(5)                 Minix Programmer's Manual                  KEYMAP(5)
  40.      Numeric keypad keys:  HOME, END, UP, DOWN, LEFT, RIGHT, PGUP,  PGDN,  MID
  41.      (numeric '5'), PLUS, INSRT.
  42.      ALT + numpad key:  AHOME, AEND, ..., AINSRT.
  43.      CTRL + numpad:  CHOME, CEND, ..., CINSRT.
  44.      Lock keys:  CALOCK (Caps Lock), NLOCK (Num Lock), SLOCK (Scroll Lock).
  45.      Function keys:  F1, ..., F12.
  46.      ALT - function key:  AF1, ..., AF12.
  47.      CTRL - function key:  CF1, ..., CF12.
  48.      SHIFT - function key:  SF1, ..., SF12.
  49.      ALT - SHIFT - function key:  ASF1, ..., ASF12.
  50.      There is one key definition that isn't  a  key  at  all:   EXTKEY.   This
  51.      keycode  is sent by the keyboard as an indicator that the next keycode is
  52.      special.  For instance both ALT keys have the same keycode, but the right
  53.      ALT key is sent by the keyboard preceded by the EXTKEY keycode.  The same
  54.      is true for the '/' key on the numeric pad versus the other  '/'  key  on
  55.      the  US  keyboard.   (On  other  keyboards  this key may have a different
  56.      symbol.)  The keyboard driver knows that a different key is presses if it
  57.      is preceded by EXTKEY.
  58.   Creating/changing keyboard mapping
  59.      You can create your own keyboard mapping by copying one of  the  existing
  60.      keymap  source  files  (Standard Minix:  kernel/keymaps/*.src, Minix-vmd:
  61.      kernel/ibm/keymaps/*.src) and modifying the desired keys. Once  this  has
  62.      been  done,  you  need to recompile the genmap.c file, either by adding a
  63.      new entry to the Makefile, or by running the following commands:
  64.           cc -DKEYSRC="keymap.src" genmap.c
  65.      After this, the keymap file can be generated by running:
  66.           a.out > keymap.map
  67.      The keymap can be loaded in the keyboard driver by:
  68.           loadkeys keymap.map
  69.      It is wise to first run loadkeys on one of the maps  in  /usr/lib/keymaps
  70.      so  that  you can easily revert back to a known keymap with a few taps on
  71.      the up-arrow key and pressing return.  You will otherwise have to fix the
  72.      keymap  with a faulty keymap loaded into the keyboard driver, which is no
  73.      fun.
  74.                                                                              2
  75. KEYMAP(5)                 Minix Programmer's Manual                  KEYMAP(5)
  76.      When the keymap is to your satisfaction you can copy it to /etc/keymap to
  77.      have it loaded automatically at reboot.
  78. FILES
  79.      /etc/keymap    Default keymap file
  80. SEE ALSO
  81.      loadkeys (1).
  82. AUTHOR
  83.      Victor A. Rodriguez - El bit Fantasma (Bit-Man@Tasa.Com.AR)
  84.                                                                              3