KBDMAP(5)

NAME
kbdmap - keyboard map file format for kbdcontrol

SYNOPSIS
kbdmap

DESCRIPTION
A kbdmap file describes how the keys on a keyboard should behave. These files can be loaded using kbdcontrol(1), or kbdmap(1) can be used to select one of the default kbdmap files interactively. A kbdmap file can be specified in rc.conf(5), to be loaded at boot time. The current keymap may also be printed using kbdcontrol(1).

Each line in the file can describe a key or an accent. A ‘#’ character begins a comment, which extends to the end of the line.

The description of a key begins with the scancode for that key. Then the effect of the key under combinations of shift, control and alt are listed in the following order: no modifier, shift, control, control and shift, alt, alt and shift, alt and control, alt and control and shift. The action of the key under each modifier can be:

'symbol'
    The symbol the key should produce, in single quotes.

decnum
    The Unicode value to produce as a decimal number (see ascii(7)). For example, 32 for space.

0xhexnum
    The Unicode value to produce as a hexadecimal number. For example, 0x20 for space.

ctrlname
    One of the standard names for the ASCII control characters: nul, soh, stx, etx, eot, enq, ack, bel, bs, ht, lf, vt, ff, cr, so, si, dle, dc1, dc2, dc3, dc4, nak, syn, etb, can, em, sub, esc, fs, gs, rs, us, sp, del.

control-alias
    One of the historical aliases for certain ASCII control characters: nl, np, ns.

accentname
    By giving one of the accent names, the next key pressed will produce an accented character in accordance with that accent. See the description of accents below. The accent names are: dgra, dacu, dcir, dtil, dmac, dbre, ddot, duml, ddia, dsla, drin, dced, dapo, ddac, dogo, dcar.

fkeyN
    Act as the Nth function key, where N is a decimal number in the range from 1 to 96. Refer to the atkbd(4) manual page for a list of predefined function keys. You can use the -f option of the kbdcontrol(1) utility to assign arbitrary strings to function keys.

lshift
    Act as left shift key.

rshift
    Act as right shift key.

clock
    Act as caps lock key.

nlock
    Act as num lock key.

slock
    Act as scroll lock key.

lalt|alt
    Act as left alt key.

btab
    Act as backwards tab.

lctrl|ctrl
    Act as left control key.

rctrl
    Act as right control key.

ralt
    Act as right alt (altgr) key.

alock
    Act as alt lock key.

ashift
    Act as alt shift key.

meta
    Act as meta key.

lshifta|shifta
    Act as left shift key / alt lock.

rshifta
    Act as right shift key / alt lock.

lctrla|ctrla
    Act as left ctrl key / alt lock.

rctrla
    Act as right ctrl key / alt lock.

lalta|alta
    Act as left alt key / alt lock.

ralta
    Act as right alt key / alt lock.

nscr
    Act as switch to next screen.

pscr
    Act as switch to previous screen.

scrN
    Switch to screen N, where N is a decimal number.

boot
    Reboot the machine.

halt
    Halt the machine.

pdwn
    Halt the machine and attempt to power it down.

debug
    Call the debugger.

susp
    Use APM to suspend power.

saver
    Activate screen saver by toggling between splash/text screen.

panic
    Panic the system. The sysctl(8) variable machdep.enable_panic_key must be set to 1 to enable this feature.

paste
    Act as mouse buffer paste.

Finally, to complete the description of a key, a flag which describes the effect of caps lock and num lock on that key is given. The flag can be ‘C’ to indicate that caps lock affects the key, ‘N’ to indicate that num lock affects the key, ‘B’ to indicate that both caps lock and num lock affects the key, or ‘O’ to indicate that neither affects the key.

An accent key works by modifying the behavior of the next key pressed. The description of an accent begins with one of the accent names given above. This is followed by the symbol for the accent, given in single quotes or as a decimal or hexadecimal Unicode value. This symbol will be produced if the accent key is pressed and then the space key is pressed.

The description of the accent key continues with a list showing how it modifies various symbols, by giving pairs made up of the normal symbol and the modified symbol enclosed in parentheses. Both symbols in a pair can be given in either single quotes or as decimal or hexadecimal Unicode values.

For example, consider the following extract from a kbdmap:

      041   dgra   172    nop    nop    '|'    '|'    nop    nop     O
      dgra  '`'  ( 'a' 224 ) ( 'A' 192 ) ( 'e' 232 ) ( 'E' 200 )
                 ( 'i' 236 ) ( 'I' 204 ) ( 'o' 242 ) ( 'O' 210 )
                 ( 'u' 249 ) ( 'U' 217 )

This extract configures the backtick key on a UK keyboard to act as a grave accent key. Pressing backtick followed by space produces a backtick, and pressing a backtick followed by a vowel produces the ISO-8859-1 symbol for that vowel with a grave accent.

FILES
/usr/share/syscons/keymaps/*
    standard keyboard map files for syscons
/usr/share/vt/keymaps/*
    standard keyboard map files for vt

SEE ALSO
kbdcontrol(1), kbdmap(1), keyboard(4), syscons(4), vt(4), ascii(7)

HISTORY
This manual page first appeared in FreeBSD 4.2.