xref: /freebsd/share/man/man4/atkbd.4 (revision 8fc257994d0ce2396196d7a06d50d20c8015f4b7)
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.Pp
148.Ss Driver Flags
149The
150.Nm
151driver accepts the following driver flags.
152They can be set either in
153.Pa /boot/device.hints ,
154or else from within the boot loader
155(see
156.Xr loader 8 ) .
157.Bl -tag -width FAIL
158.It bit 0 (FAIL_IF_NO_KBD)
159By default the
160.Nm
161driver will install even if a keyboard is not actually connected to the
162system.
163This option prevents the driver from being installed in this situation.
164.It bit 1 (NO_RESET)
165When this option is given, the
166.Nm
167driver will not reset the keyboard when initializing it.
168It may be useful for laptop computers whose function keys
169have special functions and these functions are forgotten when the
170keyboard is reset.
171.It bit 2 (ALT_SCANCODESET)
172Certain keyboards, such as those on some ThinkPad models, behave
173like the old XT keyboard and require this option.
174.It bit 3 (NO_PROBE_TEST)
175When this option is given, the
176.Nm
177driver will not test the keyboard port during the probe routine.
178Some machines hang during boot when this test is performed.
179.El
180.\".Sh FILES
181.Sh EXAMPLES
182The
183.Nm
184driver requires the keyboard controller
185.Nm atkbdc .
186Thus, the kernel configuration file should contain the following lines.
187.Pp
188.Dl "device atkbdc"
189.Dl "device atkbd"
190.Pp
191The following example shows how to set the default, built-in keymap
192to
193.Pa jp.106.kbd .
194.Pp
195.Dl "device atkbdc"
196.Dl "options ATKBD_DFLT_KEYMAP"
197.Dl "makeoptions ATKBD_DFLT_KEYMAP=jp.106"
198.Dl "device atkbd"
199.Pp
200In both cases, you also need to have following lines in
201.Pa /boot/device.hints .
202.Pp
203.Dl hint.atkbdc.0.at="isa"
204.Dl hint.atkbdc.0.port="0x060"
205.Dl hint.atkbd.0.at="atkbdc"
206.Dl hint.atkbd.0.irq="1"
207.\".Sh DIAGNOSTICS
208.\".Sh CAVEATS
209.\".Sh BUGS
210.Sh SEE ALSO
211.Xr kbdcontrol 1 ,
212.Xr atkbdc 4 ,
213.Xr psm 4 ,
214.Xr syscons 4 ,
215.Xr kbdmap 5 ,
216.Xr loader 8
217.Sh HISTORY
218The
219.Nm
220driver first appeared in
221.Fx 3.1 .
222.Sh AUTHORS
223.An -nosplit
224The
225.Nm
226driver was written by
227.An S\(/oren Schmidt Aq sos@FreeBSD.org
228and
229.An Kazutaka Yokota Aq yokota@FreeBSD.org .
230This manual page was written by
231.An Kazutaka Yokota .
232