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