KBDMAP(5) BSD File Formats Manual KBDMAP(5)
kbdmap -- keyboard map file format for kbdcontrol
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, nl, vt, np, cr, so,
si, dle, dc1, dc2, dc3, dc4, nak, syn, etb, can, em, sub, esc, fs, gs, rs, ns, us, sp, del.
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 func-
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.
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 sym-
bol 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
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 back-
tick, and pressing a backtick followed by a vowel produces the ISO-8859-1 symbol for that vowel with a grave accent.
/usr/share/syscons/keymaps/* standard keyboard map files for syscons
/usr/share/vt/keymaps/* standard keyboard map files for vt
kbdcontrol(1), kbdmap(1), keyboard(4), syscons(4), vt(4), ascii(7)
This manual page first appeared in FreeBSD 4.2.
January 29, 2008 BSD