KBMAP(3) KBMAP(3)
NAME
kbmap - keyboard map
SYNOPSIS
bind -a #κ /dev
/dev/kbmap
DESCRIPTION
The kbmap device serves a one-level directory containing a
single file, kbmap, representing the kernel's mapping of
keyboard scan codes to Unicode characters (see cons(3) and
keyboard(6)).
Reads return the current contents of the map. Each entry is
one line containing three 11 character numeric fields, each
followed by a space: a table number, an index into the table
(scan code), and the decimal value of the corresponding Uni-
code character (0 if none). The table numbers are platform
dependent; they typically distinguish between unshifted and
shifted keys. The scan code values are hardware dependent
and can vary from keyboard to keyboard.
Writes to the file change the map. Lines written to the
file must contain three space-separated fields, representing
the table number, scan code index, and Unicode character.
Values are taken to be decimal unless they start with 0x
(hexadecimal) or 0 (octal). The Unicode character can also
be represented as 'x where x gives the UTF-8 representation
of the character (see utf(6)), or as ^X to represent a con-
trol character.
The Unicode character can also be Mn to represent mouse but-
ton n. The map /sys/lib/kbmap/mouse-fn maps the F1 through
F5 keys to the three mouse buttons and the two scroll wheel
buttons. Similarly, mouse-csa maps the left Control, Start,
and Alt keys to the three mouse buttons. These maps are
useful on laptops without three-button mice.
SEE ALSO
cons(3), keyboard(6), utf(6)
FILES
/sys/lib/kbmap/*
SOURCE
/sys/src/9/port/devkbmap.c
Page 1 Plan 9 (printed 10/30/25)