172 lines
5.3 KiB
Groff
172 lines
5.3 KiB
Groff
.\" $NetBSD: wskbd.4,v 1.16 2012/05/27 12:05:40 wiz Exp $
|
|
.\"
|
|
.\" Copyright (c) 1999
|
|
.\" Matthias Drochner. All rights reserved.
|
|
.\"
|
|
.\" 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 AUTHOR 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 AUTHOR 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 May 27, 2012
|
|
.Dt WSKBD 4
|
|
.Os
|
|
.Sh NAME
|
|
.Nm wskbd
|
|
.Nd generic keyboard support in wscons
|
|
.Sh SYNOPSIS
|
|
.Cd "wskbd* at pckbd? console ? mux 1"
|
|
(standard PC keyboard)
|
|
.Cd "wskbd* at ukbd? console ? mux 1"
|
|
(USB keyboard)
|
|
.Cd "wskbd* at lkkbd? console ? mux 1"
|
|
(DEC LK200/400 serial keyboard)
|
|
.Cd "wskbd0 at akbd? console ? mux 1"
|
|
(Apple ADB keyboard)
|
|
.Cd "wskbd0 at nextkbd? console ? mux 1"
|
|
(NeXT keyboard)
|
|
.Cd "wskbd* at vrkiu? console ? mux 1"
|
|
(NEC VR4000 series HPC keyboard)
|
|
.Cd "wskbd* at skbd? console ? mux 1"
|
|
(keyboard of misc hpcmips handheld devices)
|
|
.Cd "wskbd* at btkbd? console ? mux 1"
|
|
(Bluetooth keyboard)
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
driver handles common tasks for keyboards within the
|
|
.Xr wscons 4
|
|
framework.
|
|
It is attached to the hardware specific keyboard drivers and
|
|
provides their connection to
|
|
.Dq wsdisplay
|
|
devices and a character device interface.
|
|
.Pp
|
|
The common keyboard support consists of:
|
|
.Bl -bullet
|
|
.It
|
|
Mapping from keycodes (defined by the specific keyboard driver) to
|
|
keysyms (hardware independent, defined in
|
|
.Pa /usr/include/dev/wscons/wsksymdef.h ) .
|
|
.It
|
|
Handling of
|
|
.Dq compose
|
|
sequences.
|
|
Characters commonly not present as separate key on keyboards
|
|
can be generated after either a special
|
|
.Dq compose
|
|
key is pressed or a
|
|
.Dq dead accent
|
|
character is used.
|
|
.It
|
|
Certain translations, like turning an
|
|
.Dq ALT
|
|
modifier into an
|
|
.Dq ESC
|
|
prefix.
|
|
.It
|
|
Automatic key repetition
|
|
.Pq Dq typematic .
|
|
.It
|
|
Parameter handling for
|
|
.Dq keyboard bells .
|
|
.It
|
|
Generation of
|
|
.Dq keyboard events
|
|
for use by X servers.
|
|
.El
|
|
.Pp
|
|
The
|
|
.Nm
|
|
driver provides a number of ioctl functions to control key maps
|
|
and other parameters.
|
|
These functions are accessible though the associated
|
|
.Dq wsdisplay
|
|
device as well.
|
|
A complete list is in
|
|
.Pa /usr/include/dev/wscons/wsconsio.h .
|
|
The
|
|
.Xr wsconsctl 8
|
|
utility allows to access key maps and other variables.
|
|
.Pp
|
|
The
|
|
.Em console
|
|
locator in the configuration line refers to the device's use as input
|
|
part of the operating system console.
|
|
A device specification containing a positive value here will only
|
|
match if the device is in use as system console.
|
|
(The console device selection in early system startup is not influenced.)
|
|
This way, the console device can be connected to a known
|
|
wskbd device instance.
|
|
.Ss Ioctls
|
|
The following
|
|
.Xr ioctl 2
|
|
calls are provided by the
|
|
.Nm
|
|
driver or by devices which use it.
|
|
Their definitions are found in
|
|
.Pa dev/wscons/wsconsio.h .
|
|
.Bl -tag -width Dv
|
|
.It Dv WSKBDIO_GTYPE
|
|
Get the keyboard type.
|
|
.It Dv WSKBDIO_COMPLEXBELL, WSKBDIO_SETBELL, WSKBDIO_GETBELL, WSKBDIO_SETDEFAULTBELL, WSKBDIO_GETDEFAULTBELL Pq Li "struct wsmouse_repeat"
|
|
Get and set keyboard bell settings.
|
|
.It Dv WSKBDIO_SETKEYREPEAT, WSKBDIO_GETKEYREPEAT, WSKBDIO_SETDEFAULTKEYREPEAT, WSKBDIO_GETDEFAULTKEYREPEAT Pq Li "struct wskbd_keyrepeat_data"
|
|
Get and set keyboard autorepeat settings.
|
|
.It Dv WSKBDIO_SETLEDS, WSKBDIO_GETLEDS Pq Li "int"
|
|
Get and set keyboard LED settings.
|
|
.It Dv WSKBDIO_GETMAP, WSKBDIO_SETMAP Pq Li "struct wskbd_map_data"
|
|
Get and set keyboard keymapping settings.
|
|
.It Dv WSKBDIO_GETENCODING, WSKBDIO_SETENCODING Pq Li "kbd_t"
|
|
Get and set keyboard encoding settings.
|
|
.It Dv WSKBDIO_GETKEYCLICK, WSKBDIO_SETKEYCLICK Pq Li "int"
|
|
Get and set keyboard keyclick settings.
|
|
.It Dv WSKBDIO_SETVERSION Pq Li "int"
|
|
Set the wscons_event protocol version.
|
|
The default is 0 for binary compatibility.
|
|
The latest version is
|
|
always available as
|
|
.Dv WSKBD_EVENT_VERSION ,
|
|
and is currently 1.
|
|
All new code should use a call similar to the below to ensure the
|
|
correct version is returned.
|
|
.Bd -literal -offset indent
|
|
int ver = WSKBD_EVENT_VERSION;
|
|
if (ioctl(fd, WSKBDIO_SETVERSION, &ver) == -1)
|
|
err(EXIT_FAILURE, "cannot set version");
|
|
.Ed
|
|
.El
|
|
.Sh FILES
|
|
.Bl -item
|
|
.It
|
|
.Pa /dev/wskbd*
|
|
.It
|
|
.Pa /usr/include/dev/wscons/wsksymdef.h
|
|
.It
|
|
.Pa /usr/include/dev/wscons/wsconsio.h .
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr btkbd 4 ,
|
|
.Xr pckbd 4 ,
|
|
.Xr ukbd 4 ,
|
|
.Xr wscons 4 ,
|
|
.Xr wsmux 4 ,
|
|
.Xr wsconsctl 8 ,
|
|
.Xr wskbd 9
|