KEYMAP.5
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:4k
源码类别:
操作系统开发
开发平台:
C/C++
- .TH KEYMAP 5
- .SH NAME
- keymap - keyboard maps
- .SH SYNOPSIS
- .B /etc/keymap
- .SH DESCRIPTION
- .B /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
- .BR genmap
- utility.
- .PP
- .SS "Types (general): <sys/types.h>"
- <sys/types.h> defines the
- .B u8_t
- and
- .B u16_t
- types, corresponding to 8 and 16 bit values.
- .SS "Macros: <minix/keymap.h>"
- .TP
- .BI "C(" c ") - Control"
- Maps to control code
- .TP
- .BI "A(" c ") - Alt"
- Sets the eight bit
- .TP
- .BI "CA(" c ") - Control-Alt"
- Short for
- .BI "A(C(" c "))"
- .TP
- .BI "L(" c ") - Caps Lock"
- Adds Caps Lock effect
- .PP
- These macros are used in a keymap source file to help define keys. So
- instead of writing
- .B 032
- to put a CTRL-Z in the map you write
- .BR "C('Z')" .
- The
- .BI "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.)
- .SS "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:
- .PP
- Escape key and modifiers:
- .BR EXT ,
- .BR CTRL ,
- .BR SHIFT ,
- .BR ALT .
- .PP
- Numeric keypad keys:
- .BR HOME ,
- .BR END ,
- .BR UP ,
- .BR DOWN ,
- .BR LEFT ,
- .BR RIGHT ,
- .BR PGUP ,
- .BR PGDN ,
- .BR MID " (numeric '5'),"
- .BR PLUS ,
- .BR INSRT .
- .PP
- ALT + numpad key:
- .BR AHOME ,
- .BR AEND ", ...,"
- .BR AINSRT .
- .PP
- CTRL + numpad:
- .BR CHOME ,
- .BR CEND ", ...,"
- .BR CINSRT .
- .PP
- Lock keys:
- .BR CALOCK " (Caps Lock),"
- .BR NLOCK " (Num Lock),"
- .BR SLOCK " (Scroll Lock)."
- .PP
- Function keys:
- .BR F1 ", ...,"
- .BR F12 .
- .PP
- ALT - function key:
- .BR AF1 ", ...,"
- .BR AF12 .
- .PP
- CTRL - function key:
- .BR CF1 ", ...,"
- .BR CF12 .
- .PP
- SHIFT - function key:
- .BR SF1 ", ...,"
- .BR SF12 .
- .PP
- ALT - SHIFT - function key:
- .BR ASF1 ", ...,"
- .BR ASF12 .
- .PP
- There is one key definition that isn't a key at all:
- .BR 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.
- .SS "Creating/changing keyboard mapping"
- You can create your own keyboard mapping by copying one of the existing
- keymap source files (Standard Minix:
- .BR kernel/keymaps/*.src ,
- Minix-vmd:
- .BR 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:
- .PP
- .RS
- .ft B
- cc -DKEYSRC=e"fIkeymapfP.srce" genmap.c
- .ft P
- .RE
- .PP
- After this, the
- .BR keymap
- file can be generated by running:
- .PP
- .RS
- .BI "a.out > " keymap .map
- .RE
- .PP
- The keymap can be loaded in the keyboard driver by:
- .PP
- .RS
- .BI "loadkeys " keymap .map
- .RE
- .PP
- It is wise to first run
- .B loadkeys
- on one of the maps in
- .B /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.
- .PP
- When the keymap is to your satisfaction you can copy it to
- .B /etc/keymap
- to have it loaded automatically at reboot.
- .SH FILES
- .TP 15
- .B /etc/keymap
- Default keymap file
- .SH "SEE ALSO"
- .B loadkeys (1).
- .SH AUTHOR
- Victor A. Rodriguez - El bit Fantasma (Bit-Man@Tasa.Com.AR)