KEYMAP.5
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:5k
源码类别:
操作系统开发
开发平台:
C/C++
- KEYMAP(5) Minix Programmer's Manual KEYMAP(5)
- 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 consisting 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, corresponding 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.
- 1
- KEYMAP(5) Minix Programmer's Manual KEYMAP(5)
- 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: EXTKEY. 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 pressing return. You will otherwise have to fix the
- keymap with a faulty keymap loaded into the keyboard driver, which is no
- fun.
- 2
- KEYMAP(5) Minix Programmer's Manual KEYMAP(5)
- 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)
- 3