178 lines
4.8 KiB
Groff
178 lines
4.8 KiB
Groff
|
||
|
||
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
|
||
|