No empty .Rs/.Re
[netbsd-mini2440.git] / share / man / man4 / man4.sun3 / kbd.4
blob902ca4f5c39b13406151a9af6e4834afe3f711c0
1 .\"     $NetBSD: kbd.4,v 1.8 2002/01/15 02:03:07 wiz Exp $
2 .\"
3 .\" Copyright (c) 1996 The NetBSD Foundation, Inc.
4 .\" All rights reserved.
5 .\"
6 .\" This code is derived from software contributed to The NetBSD Foundation
7 .\" by Paul Kranenburg.
8 .\"
9 .\" Redistribution and use in source and binary forms, with or without
10 .\" modification, are permitted provided that the following conditions
11 .\" are met:
12 .\" 1. Redistributions of source code must retain the above copyright
13 .\"    notice, this list of conditions and the following disclaimer.
14 .\" 2. Redistributions in binary form must reproduce the above copyright
15 .\"    notice, this list of conditions and the following disclaimer in the
16 .\"    documentation and/or other materials provided with the distribution.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 .\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 .\" POSSIBILITY OF SUCH DAMAGE.
29 .\"
30 .Dd June 22, 1996
31 .Dt KBD 4 sun3
32 .Os
33 .Sh NAME
34 .Nm kbd
35 .Nd Sun workstation keyboard
36 .Sh SYNOPSIS
37 .Cd "pseudo-device kbd"
38 .Sh DESCRIPTION
39 The
40 .Nm
41 driver provides an interface to the workstation console keyboard.
42 .Qq type 2 ,
43 .Qq type 3 ,
44 .Qq type 4 ,
45 and
46 .Qq type 5
47 keyboards are supported.
48 The
49 .Qq type 5
50 keyboard is treated as if it were a
51 .Qq type 4 .
52 All types generate keycodes encoding the
53 key identity and motion (up or down) as the keys are pressed and released.
54 The
55 .Nm
56 driver either passes the keycodes to an application as they come in, or
57 translates them into
58 .Tn ASCII
59 characters first according to a set of built-in tables.
60 .Pp
61 If the keyboard is configured as the device
62 to be used for system console input
63 .Pq see Xr eeprom 8 ,
64 it will be internally connected to the
65 .Pa /dev/console
66 device special file, which can be used as a
67 .Xr tty 4
68 device.
69 .Pp
70 The device special file
71 .Pa /dev/kbd
72 is used to get direct access to the keyboard input stream.
73 The following
74 ioctl's are supported (mostly just enough to keep the
75 .Xr X 1
76 server going):
77 .Bl -tag -width KIOCSDIRECT
78 .It KIOCTRANS
79 Set translation mode.
80 The argument is of type
81 .Fa "int *" ,
82 the only value supported is
83 .Dv TR_UNTRANS_EVENT .
84 .It KIOCGTRANS
85 Get translation mode.
86 The argument is of type
87 .Fa "int *" .
88 .Dv TR_UNTRANS_EVENT
89 is always returned.
90 .It KIOCGETKEY
91 Fill in old-style key station translation.
92 The argument is of type
93 .Fa "struct okiockey *" .
94 .It KIOCCMD
95 Send a command to the keyboard.
96 The argument is of type
97 .Fa "int *" ,
98 and can have one of the following values:
99 .Bl -tag -width KBD_CMD_NOCLICK
100 .It KBD_CMD_BELL
101 Start the keyboard beeper.
102 .It KBD_CMD_NOBELL
103 Stop the keyboard beeper.
104 .It KBD_CMD_CLICK
105 Instruct the keyboard to make extra noise when touching keys.
106 .It KBD_CMD_NOCLICK
107 Instruct the keyboard to stop making extra noise when touching keys.
109 .It KIOCTYPE
110 Get keyboard type.
111 The argument is of type
112 .Fa "int *" ,
113 in which one of the values
114 .Dv KB_SUN2 ,
115 .Dv KB_SUN3
117 .Dv KB_SUN4
118 will be returned.
119 .It KIOCSDIRECT
120 Route the keyboard input stream through the
121 .Tn SunOS
122 compatible event module.
123 The argument is of type
124 .Fa "int *" ,
125 a non-zero value will put the driver into
126 .Dq event
127 mode, while a value of zero will make it return to
128 .Dq ASCII translation
129 mode.
130 .It KIOCSKEY
131 Set key station translation.
132 The argument is of type
133 .Fa "struct kiockey *"
134 .Pq see Pa /usr/include/machine/kbio.h No for more details .
135 .It KIOCGKEY
136 Get key station translation.
137 The argument is of type
138 .Fa "struct kiockey *" .
139 .It KIOCLAYOUT
140 Get keyboard layout
141 .Pq Do type 4 Dc only .
142 The argument is of type
143 .Fa "int *" ,
144 in which the uninterpreted result of the
145 .Dv KBD_CMD_GLAYOUT
146 keyboard command is returned
147 .Po on Dv KBDUN4
148 type keyboards this will be the setting of a DIP switch bank
149 .Pc .
150 .It KIOCSLED
151 Set LED state
152 .Pq Do type 4 Dc only .
153 The argument is of type
154 .Fa "char *" ,
155 and is the inclusive OR of the following flags:
157 .Bl -tag -width LED_SCROLL_LOCK -compact
158 .It LED_NUM_LOCK
159 .It LED_COMPOSE
160 .It LED_SCROLL_LOCK
161 .It LED_CAPS_LOCK
164 Each of these flags turn on the LED in the obvious key.
165 .It KIOCGLED
166 Get LED state
167 .Pq Do type 4 Dc only .
168 The argument is of type
169 .Fa "char *" ,
170 in which the current LED state is returned.
172 .Sh SEE ALSO
173 .Xr eeprom 4 ,
174 .Xr ms 4 ,
175 .Xr eeprom 8
176 .Sh BUGS
178 is hardwired to the built-in
179 .Em zs1
180 serial port at 1200 bps.