.TH KBMAP 3 .SH NAME kbmap \- keyboard map .SH SYNOPSIS .nf .B bind -a #κ /dev .B /dev/kbmap .fi .SH DESCRIPTION .PP The .I kbmap device serves a one-level directory containing a single file, .BR kbmap , representing the kernel's mapping of keyboard scan codes to Unicode characters (see .IR cons (3) and .IR keyboard (6)). .PP 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 unshifted and shifted keys. The scan code values are hardware dependent and can vary from keyboard to keyboard. .PP 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 .B 0x (hexadecimal) or .B 0 (octal). The Unicode character can also be represented as .BI ' x where .I x gives the UTF-8 representation of the character (see .IR utf (6)), or as .BI ^ X to represent a control character or as .BI M n to represent a mouse button. .PP The map .B /sys/lib/kbmap/mouse-fn maps the F1, F2, and F3 keys to the three mouse buttons. Similarly, .B 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. .SH "SEE ALSO" .IR cons (3), .IR keyboard (6), .IR utf (6) .SH FILES .B /sys/lib/kbmap/* .SH SOURCE .B /sys/src/9/port/devkbmap.c