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