glenda.party
term% ls -F
term% cat index.txt
KBMAP(3)                   Library Functions Manual                   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 Uni‐
       code 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 Unicode character (0 if none).  The table
       numbers are platform dependent; they typically distinguish between  un‐
       shifted  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 con‐
       tain three space-separated fields, representing the table number,  scan
       code  index, and Unicode character.  Values are taken to be decimal un‐
       less they start with 0x (hexadecimal) or 0 (octal).  The Unicode  char‐
       acter can also be represented as 'x where x gives the UTF-8 representa‐
       tion  of  the  character  (see utf(6)), or as ^X to represent a control
       character.

       The Unicode character can also be Mn to represent mouse button 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

                                                                      KBMAP(3)