.TH KBDFS 8
.SH NAME
-kbdfs \- keyboard and console filesystem
+kbdfs, console \- keyboard and console filesystem
.SH SYNOPSIS
.B aux/kbdfs
[
.B -m
.I mntpnt
] [
-.I filename
+.I consfile
]
.nf
.B /dev/kbin
.B /dev/kbmap
.fi
+.PP
+.B console
+[
+.I cmd
+.I args...
+]
.SH DESCRIPTION
.PP
Started on
otherwise on
.B /dev
(the default).
+.PP
+The
+.B console
+command executes
+.I cmd
+(defaults to the system shell)
+under its own
+.I kbdfs
+instance providing a serial console if
+.B $console
+environment variable is set.
.SS Console
.PP
Reading the
causes the characters to be printed on the console screen.
.PP
When a
-.I filename
+.I consfile
is passed to
.IR kbdfs (8)
as its last argument, it reads and processes the
characters from that file and forwards them to the
.BR cons
file with the same text processing applied as on keyboard input.
-This is used on serial consoles.
+This is used to provide a serial console when
+.B $console
+environment variable is set. (see
+.IR plan9.ini (8)).
+.PP
+Holding
+.LR Ctrl
++
+.LR Alt
+and then pressing the
+.LR Del
+key will
+trigger a reboot of the terminal.
+To forward this sequence downstream,
+.LR Shift
++
+.LR Ctrl
++
+.LR Alt
+and then pressing
+.LR Del
+will cause to send a
+.LR Shift
+up before the
+.LR Del
+key.
+This is usefull for programs like
+.IR vnc (1)
+and
+.IR vmx (1).
.SS Keyboard
A read on the
.BR kbd
.SM UTF
encoded string. The
.B k
-message is send when a key is pressed down
+message is sent when a key is pressed down
and
.B K
when a key is released. The following string contains all the keycodes
file instead. The
.B c
message will be resent at the keyboard repeat rate.
-Each
+A single
.IR read (2)
-will return a single message or block until there are new messages
-available. Opening the
+can return multiple concatenated messages at once (delimited by the null byte)
+or block when there are no messages queued. Opening the
.BR kbd
file disables input processing on the
.BR cons
.IR cons (3),
.IR keyboard (6),
.IR utf (6),
-.IR kbd (3)
+.IR kbd (3),
+.IR plan9.ini (8)
.SH FILES
.B /sys/lib/kbmap/*
.SH SOURCE
.B /sys/src/cmd/aux/kbdfs
+.br
+.B /rc/bin/console
.SH HISTORY
.I Kbdfs
first appeared in 9front (May, 2011).