xref: /freebsd/share/man/man4/atkbd.4 (revision f6ce2a64f72323d4d03ba75de0559e04de483f7d)
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 driver
54.Xr syscons 4
55.Pp
56There can be only one
57.Nm
58device defined in the kernel configuration file.
59This device also requires the
60.Nm atkbdc
61keyboard controller to be present.
62The
63.Em irq
64number must always be 1; there is no provision of changing the number.
65.Ss Function Keys
66The AT keyboard has a number of function keys.
67They are numbered as follows and can be associated with strings
68by the
69.Xr kbdcontrol 1
70command.
71.Pp
72.Bl -tag -width "Function Key Number" -compact
73.It "Function Key number"
74Function Key
75.It "1, 2,...12"
76F1, F2,...\& F12
77.It "13, 14,...24"
78Shift+F1, Shift+F2,...\& Shift+F12
79.It "25, 26,...36"
80Ctl+F1, Ctl+F2,...\& Ctl+F12
81.It "37, 38,...48"
82Shift+Ctl+F1, Shift+Ctl+F2,...\& Shift+Ctl+F12
83.It 49
84Home and Numpad 7 (without NumLock)
85.It 50
86Up Arrow and Numpad 8 (without NumLock)
87.It 51
88Page Up and Numpad 9 (without NumLock)
89.It 52
90Numpad -
91.It 53
92Left Arrow and Numpad 4 (without NumLock)
93.It 54
94Numpad 5 (without NumLock)
95.It 55
96Right Arrow and Numpad 6 (without NumLock)
97.It 56
98Numpad +
99.It 57
100End and Numpad 1 (without NumLock)
101.It 58
102Down Arrow and Numpad 2 (without NumLock)
103.It 59
104Page Down and Numpad 3 (without NumLock)
105.It 60
106Ins and Numpad 0 (without NumLock)
107.It 61
108Del
109.It 62
110Left GUI Key
111.It 63
112Right GUI Key
113.It 64
114Menu
115.El
116.Pp
117See the man page for the
118.Xr kbdcontrol 1
119command for how to assign a string to the function key.
120.Sh DRIVER CONFIGURATION
121.Ss Kernel Configuration Options
122The following kernel configuration options control the
123.Nm
124driver.
125.Bl -tag -width ATKBD_DFLT
126.It Em ATKBD_DFLT_KEYMAP
127This option sets the default, built-in keymap of the
128.Nm
129driver to the named keymap.
130See
131.Sx EXAMPLES
132below.
133.It Em KBD_DISABLE_KEYMAP_LOAD
134The keymap can be modified by the
135.Xr kbdcontrol 1
136command.
137This option will disable this feature and prevent the user from
138changing key assignment.
139.El
140.Pp
141.Ss Driver Flags
142The
143.Nm
144driver accepts the following driver flags.
145They can be set either in
146.Pa /boot/device.hints ,
147or else from within the boot loader
148(see
149.Xr loader 8 ) .
150.Bl -tag -width FAIL
151.It bit 0 (FAIL_IF_NO_KBD)
152By default the
153.Nm
154driver will install even if a keyboard is not actually connected to the
155system.
156This option prevents the driver from being installed in this situation.
157.It bit 1 (NO_RESET)
158When this option is given, the
159.Nm
160driver will not reset the keyboard when initializing it.
161It may be useful for laptop computers whose function keys
162have special functions and these functions are forgotten when the
163keyboard is reset.
164.It bit 2 (ALT_SCANCODESET)
165Certain keyboards, such as those on some ThinkPad models, behave
166like the old XT keyboard and require this option.
167.It bit 3 (NO_PROBE_TEST)
168When this option is given, the
169.Nm
170driver will not test the keyboard port during the probe routine.
171Some machines hang during boot when this test is performed.
172.El
173.\".Sh FILES
174.Sh EXAMPLES
175The
176.Nm
177driver requires the keyboard controller
178.Nm atkbdc .
179Thus, the kernel configuration file should contain the following lines.
180.Pp
181.Dl "device atkbdc"
182.Dl "device atkbd"
183.Pp
184The following example shows how to set the default, built-in keymap
185to
186.Pa jp.106.kbd .
187.Pp
188.Dl "device atkbdc"
189.Dl "options ATKBD_DFLT_KEYMAP"
190.Dl "makeoptions ATKBD_DFLT_KEYMAP=jp.106"
191.Dl "device atkbd"
192.Pp
193In both cases, you also need to have following lines in
194.Pa /boot/device.hints .
195.Pp
196.Dl hint.atkbdc.0.at="isa"
197.Dl hint.atkbdc.0.port="0x060"
198.Dl hint.atkbd.0.at="atkbdc"
199.Dl hint.atkbd.0.irq="1"
200.\".Sh DIAGNOSTICS
201.\".Sh CAVEATS
202.\".Sh BUGS
203.Sh SEE ALSO
204.Xr kbdcontrol 1 ,
205.Xr atkbdc 4 ,
206.Xr psm 4 ,
207.Xr syscons 4 ,
208.Xr loader 8
209.Sh HISTORY
210The
211.Nm
212driver first appeared in
213.Fx 3.1 .
214.Sh AUTHORS
215.An -nosplit
216The
217.Nm
218driver was written by
219.An S\(/oren Schmidt Aq sos@FreeBSD.org
220and
221.An Kazutaka Yokota Aq yokota@FreeBSD.org .
222This manual page was written by
223.An Kazutaka Yokota .
224