181 lines
4.8 KiB
Groff
181 lines
4.8 KiB
Groff
.\" $NetBSD: kbd.4,v 1.11 2017/02/17 22:24:47 christos Exp $
|
|
.\"
|
|
.\" Copyright (c) 1996 The NetBSD Foundation, Inc.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" This code is derived from software contributed to The NetBSD Foundation
|
|
.\" by Paul Kranenburg.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
.\" POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.Dd February 17, 2017
|
|
.Dt KBD 4 sun3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm kbd
|
|
.Nd Sun workstation keyboard
|
|
.Sh SYNOPSIS
|
|
.Cd "pseudo-device kbd"
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
driver provides an interface to the workstation console keyboard.
|
|
.Qq type 2 ,
|
|
.Qq type 3 ,
|
|
.Qq type 4 ,
|
|
and
|
|
.Qq type 5
|
|
keyboards are supported.
|
|
The
|
|
.Qq type 5
|
|
keyboard is treated as if it were a
|
|
.Qq type 4 .
|
|
All types generate keycodes encoding the
|
|
key identity and motion (up or down) as the keys are pressed and released.
|
|
The
|
|
.Nm
|
|
driver either passes the keycodes to an application as they come in, or
|
|
translates them into
|
|
.Tn ASCII
|
|
characters first according to a set of built-in tables.
|
|
.Pp
|
|
If the keyboard is configured as the device
|
|
to be used for system console input
|
|
.Pq see Xr eeprom 8 ,
|
|
it will be internally connected to the
|
|
.Pa /dev/console
|
|
device special file, which can be used as a
|
|
.Xr tty 4
|
|
device.
|
|
.Pp
|
|
The device special file
|
|
.Pa /dev/kbd
|
|
is used to get direct access to the keyboard input stream.
|
|
The following
|
|
ioctl's are supported (mostly just enough to keep the
|
|
.Ic X
|
|
server going):
|
|
.Bl -tag -width KIOCSDIRECT
|
|
.It KIOCTRANS
|
|
Set translation mode.
|
|
The argument is of type
|
|
.Fa "int *" ,
|
|
the only value supported is
|
|
.Dv TR_UNTRANS_EVENT .
|
|
.It KIOCGTRANS
|
|
Get translation mode.
|
|
The argument is of type
|
|
.Fa "int *" .
|
|
.Dv TR_UNTRANS_EVENT
|
|
is always returned.
|
|
.It KIOCGETKEY
|
|
Fill in old-style key station translation.
|
|
The argument is of type
|
|
.Fa "struct okiockey *" .
|
|
.It KIOCCMD
|
|
Send a command to the keyboard.
|
|
The argument is of type
|
|
.Fa "int *" ,
|
|
and can have one of the following values:
|
|
.Bl -tag -width KBD_CMD_NOCLICK
|
|
.It KBD_CMD_BELL
|
|
Start the keyboard beeper.
|
|
.It KBD_CMD_NOBELL
|
|
Stop the keyboard beeper.
|
|
.It KBD_CMD_CLICK
|
|
Instruct the keyboard to make extra noise when touching keys.
|
|
.It KBD_CMD_NOCLICK
|
|
Instruct the keyboard to stop making extra noise when touching keys.
|
|
.El
|
|
.It KIOCTYPE
|
|
Get keyboard type.
|
|
The argument is of type
|
|
.Fa "int *" ,
|
|
in which one of the values
|
|
.Dv KB_SUN2 ,
|
|
.Dv KB_SUN3
|
|
or
|
|
.Dv KB_SUN4
|
|
will be returned.
|
|
.It KIOCSDIRECT
|
|
Route the keyboard input stream through the
|
|
.Tn SunOS
|
|
compatible event module.
|
|
The argument is of type
|
|
.Fa "int *" ,
|
|
a non-zero value will put the driver into
|
|
.Dq event
|
|
mode, while a value of zero will make it return to
|
|
.Dq ASCII translation
|
|
mode.
|
|
.It KIOCSKEY
|
|
Set key station translation.
|
|
The argument is of type
|
|
.Fa "struct kiockey *"
|
|
.Pq see Pa /usr/include/machine/kbio.h No for more details .
|
|
.It KIOCGKEY
|
|
Get key station translation.
|
|
The argument is of type
|
|
.Fa "struct kiockey *" .
|
|
.It KIOCLAYOUT
|
|
Get keyboard layout
|
|
.Pq Do type 4 Dc only .
|
|
The argument is of type
|
|
.Fa "int *" ,
|
|
in which the uninterpreted result of the
|
|
.Dv KBD_CMD_GLAYOUT
|
|
keyboard command is returned
|
|
.Po on Dv KBDUN4
|
|
type keyboards this will be the setting of a DIP switch bank
|
|
.Pc .
|
|
.It KIOCSLED
|
|
Set LED state
|
|
.Pq Do type 4 Dc only .
|
|
The argument is of type
|
|
.Fa "char *" ,
|
|
and is the inclusive OR of the following flags:
|
|
.Pp
|
|
.Bl -tag -width LED_SCROLL_LOCK -compact
|
|
.It LED_NUM_LOCK
|
|
.It LED_COMPOSE
|
|
.It LED_SCROLL_LOCK
|
|
.It LED_CAPS_LOCK
|
|
.El
|
|
.Pp
|
|
Each of these flags turn on the LED in the obvious key.
|
|
.It KIOCGLED
|
|
Get LED state
|
|
.Pq Do type 4 Dc only .
|
|
The argument is of type
|
|
.Fa "char *" ,
|
|
in which the current LED state is returned.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr eeprom 4 ,
|
|
.Xr sun3/ms 4 ,
|
|
.Xr eeprom 8
|
|
.Sh BUGS
|
|
.Nm
|
|
is hardwired to the built-in
|
|
.Em zs1
|
|
serial port at 1200 bps.
|