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