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