xref: /freebsd/share/man/man4/atkbd.4 (revision e8aa0f663bd15295f87ced3fb132984933080990)
1.\"
2.\" Copyright (c) 1999
3.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer as
11.\"    the first lines of this file unmodified.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26.\"
27.\" $FreeBSD$
28.\"
29.Dd May 21, 1999
30.Dt ATKBD 4
31.Os
32.Sh NAME
33.Nm atkbd
34.Nd the AT keyboard interface
35.Sh SYNOPSIS
36.Cd "options ATKBD_DFLT_KEYMAP"
37.Cd "makeoptions ATKBD_DFLT_KEYMAP=_keymap_name_"
38.Cd "options KBD_DISABLE_KEYMAP_LOAD"
39.Cd "device atkbd"
40.Pp
41In
42.Pa /boot/device.hints :
43.Cd hint.atkbd.0.at="atkbdc"
44.Cd hint.atkbd.0.irq="1"
45.Sh DESCRIPTION
46The
47.Nm
48driver, together with the
49.Nm atkbdc
50driver, provides access to the AT 84 keyboard or the AT enhanced keyboard
51which is connected to the AT keyboard controller.
52.Pp
53This driver is required for the console drivers
54.Xr syscons 4
55and
56.Xr pcvt 4 .
57.Pp
58There can be only one
59.Nm
60device defined in the kernel configuration file.
61This device also requires the
62.Nm atkbdc
63keyboard controller to be present.
64The
65.Em irq
66number must always be 1; there is no provision of changing the number.
67.Ss Function Keys
68The AT keyboard has a number of function keys.
69They are numbered as follows and can be associated with strings
70by the
71.Xr kbdcontrol 1
72command.
73.Pp
74.Bl -tag -width "Function Key Number" -compact
75.It "Function Key number"
76Function Key
77.It "1, 2,...12"
78F1, F2,...\& F12
79.It "13, 14,...24"
80Shift+F1, Shift+F2,...\& Shift+F12
81.It "25, 26,...36"
82Ctl+F1, Ctl+F2,...\& Ctl+F12
83.It "37, 38,...48"
84Shift+Ctl+F1, Shift+Ctl+F2,...\& Shift+Ctl+F12
85.It 49
86Home and Numpad 7 (without NumLock)
87.It 50
88Up Arrow and Numpad 8 (without NumLock)
89.It 51
90Page Up and Numpad 9 (without NumLock)
91.It 52
92Numpad -
93.It 53
94Left Arrow and Numpad 4 (without NumLock)
95.It 54
96Numpad 5 (without NumLock)
97.It 55
98Right Arrow and Numpad 6 (without NumLock)
99.It 56
100Numpad +
101.It 57
102End and Numpad 1 (without NumLock)
103.It 58
104Down Arrow and Numpad 2 (without NumLock)
105.It 59
106Page Down and Numpad 3 (without NumLock)
107.It 60
108Ins and Numpad 0 (without NumLock)
109.It 61
110Del
111.It 62
112Left GUI Key
113.It 63
114Right GUI Key
115.It 64
116Menu
117.El
118.Pp
119See the man page for the
120.Xr kbdcontrol 1
121command for how to assign a string to the function key.
122.Sh DRIVER CONFIGURATION
123.Ss Kernel Configuration Options
124The following kernel configuration options control the
125.Nm
126driver.
127.Bl -tag -width ATKBD_DFLT
128.It Em ATKBD_DFLT_KEYMAP
129This option sets the default, built-in keymap of the
130.Nm
131driver to the named keymap.
132See
133.Sx EXAMPLES
134below.
135.It Em KBD_DISABLE_KEYMAP_LOAD
136The keymap can be modified by the
137.Xr kbdcontrol 1
138command.
139This option will disable this feature and prevent the user from
140changing key assignment.
141.El
142.Pp
143.Ss Driver Flags
144The
145.Nm
146driver accepts the following driver flags.
147They can be set either in
148.Pa /boot/device.hints ,
149or else from within the boot loader
150(see
151.Xr loader 8 ) .
152.Bl -tag -width FAIL
153.It bit 0 (FAIL_IF_NO_KBD)
154By default the
155.Nm
156driver will install even if a keyboard is not actually connected to the
157system.
158This option prevents the driver from being installed in this situation.
159.It bit 1 (NO_RESET)
160When this option is given, the
161.Nm
162driver will not reset the keyboard when initializing it.
163It may be useful for laptop computers whose function keys
164have special functions and these functions are forgotten when the
165keyboard is reset.
166.It bit 2 (ALT_SCANCODESET)
167Certain keyboards, such as those on some ThinkPad models, behave
168like the old XT keyboard and require this option.
169.It bit 3 (NO_PROBE_TEST)
170When this option is given, the
171.Nm
172driver will not test the keyboard port during the probe routine.
173Some machines hang during boot when this test is performed.
174.El
175.\".Sh FILES
176.Sh EXAMPLES
177The
178.Nm
179driver requires the keyboard controller
180.Nm atkbdc .
181Thus, the kernel configuration file should contain the following lines.
182.Pp
183.Dl "device atkbdc"
184.Dl "device atkbd"
185.Pp
186The following example shows how to set the default, built-in keymap
187to
188.Pa jp.106.kbd .
189.Pp
190.Dl "device atkbdc"
191.Dl "options ATKBD_DFLT_KEYMAP"
192.Dl "makeoptions ATKBD_DFLT_KEYMAP=jp.106"
193.Dl "device atkbd"
194.Pp
195In both cases, you also need to have following lines in
196.Pa /boot/device.hints .
197.Pp
198.Dl hint.atkbdc.0.at="isa"
199.Dl hint.atkbdc.0.port="0x060"
200.Dl hint.atkbd.0.at="atkbdc"
201.Dl hint.atkbd.0.irq="1"
202.Pp
203.\".Sh DIAGNOSTICS
204.\".Sh CAVEATS
205.\".Sh BUGS
206.Sh SEE ALSO
207.Xr kbdcontrol 1 ,
208.Xr atkbdc 4 ,
209.Xr pcvt 4 ,
210.Xr psm 4 ,
211.Xr syscons 4 ,
212.Xr loader 8
213.Sh HISTORY
214The
215.Nm
216driver first appeared in
217.Fx 3.1 .
218.Sh AUTHORS
219.An -nosplit
220The
221.Nm
222driver was written by
223.An S\(/oren Schmidt Aq sos@FreeBSD.org
224and
225.An Kazutaka Yokota Aq yokota@FreeBSD.org .
226This manual page was written by
227.An Kazutaka Yokota .
228